[llvm-bugs] [Bug 28117] New: redundant direct move instructions generated

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jun 13 20:53:06 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=28117

            Bug ID: 28117
           Summary: redundant direct move instructions generated
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: PowerPC
          Assignee: unassignedbugs at nondot.org
          Reporter: amehsan at ca.ibm.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

This came up in the discussion on http://reviews.llvm.org/D21135

for

define double @test2(<2 x i64> %a) {
entry:
  %0 = extractelement <2 x i64> %a, i32 0
  %1 = sitofp i64 %0 to double
  ret double %1
}

we generate

xxswapd  0, 34
mfvsrd 3, 0
mtvsrd 0, 3
xscvsxddp 1, 0
blr

We probably need to look at all users of extractelement in DAGCombine, and make
the right decision before we reach pattern matching. Perhaps peephole
optimization won't work here, as we need information about all users of values
in question.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160614/1980113e/attachment.html>


More information about the llvm-bugs mailing list