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

            Bug ID: 71720
           Summary: initialization of a vector of floats generates
                    incorrect code for -mcpu=power9
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: acsawdey at gcc dot gnu.org
                CC: meissner at gcc dot gnu.org, wschmidt at gcc dot gnu.org
  Target Milestone: ---
            Target: powerpc64le-linux

Created attachment 38807
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38807&action=edit
test case

This test case is derived from test pr63594-2.c.

The attached test case generates the following:

test1float4:
.LFB0:
        .file 1 "pr63594-2nl.i"
        .loc 1 4 0
        .cfi_startproc
.LVL0:
        .loc 1 7 0
        xscvdpspn 34,1
        xxspltw 34,34,3
        blr

The second instruction should be xxspltw 34,34,0 because xscvdpspn places the
result in word 0 not word 3.

Tested against trunk 237715
compile flags are -mcpu=power9 -fno-diagnostics-show-caret
-fdiagnostics-color=never -O2 -Wno-psabi -ggdb -g3 -lm

Reply via email to