https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81572

            Bug ID: 81572
           Summary: gcc-7 regression: unnecessary vector regmove on
                    compare
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zoltan at hidvegi dot com
                CC: segher at gcc dot gnu.org, wschmidt at gcc dot gnu.org
  Target Milestone: ---
            Target: powerpc64le-unknown-linux-gnu
                CC: segher at gcc dot gnu.org, wschmidt at gcc dot gnu.org

Created attachment 41843
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41843&action=edit
gcc-7 -O2 generates unnecessary vector regmove

This sequence generate an unnecessary regmove with gcc-7 that did not happen
with gcc-6. The gcc-7 code is like this:

        xxlor 32,34,34
        xxlandc 35,34,35
        vcmpequb. 2,0,3
        mfcr 3,2
        rlwinm 3,3,25,1
        blr

gcc-6 does not generate the xxlor 32,34,34 move.

Reply via email to