http://llvm.org/bugs/show_bug.cgi?id=14666
Bug #: 14666
Summary: InstCombine/DagCombine: Need to push vector trunc
upwards.
Product: libraries
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P
Component: Transformation Utilities
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Classification: Unclassified
In the following IR, the mil and add operations are very expensive on vectors
of i64s. If we were to push the "trunc" operation upwards we could generate
much better code.
81 %4 = load <8 x i32>* %3, align 4
82 %5 = mul nsw <8 x i64> %induction, <i64 9, i64 9, i64 9, i64 9, i64 9,
i64 9, i64 9, i64 9>
83 %6 = add <8 x i64> %5, <i64 5, i64 5, i64 5, i64 5, i64 5, i64 5, i64 5,
i64 5>
84 %7 = trunc <8 x i64> %6 to <8 x i32>
85 %8 = add <8 x i32> %7, %4
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs