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

Reply via email to