[LLVMbugs] [Bug 14666] New: InstCombine/DagCombine: Need to push vector trunc upwards.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Dec 19 21:42:17 PST 2012


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: unassignedbugs at nondot.org
        ReportedBy: nrotem at apple.com
                CC: llvmbugs at cs.uiuc.edu
    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.



More information about the llvm-bugs mailing list