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

            Bug ID: 69469
           Summary: test case gcc.target/powerpc/vsx-vector-2.c fails on
                    power starting with r232632
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: seurer at linux dot vnet.ibm.com
  Target Milestone: ---

This fails on both BE and LE.

Executing on host: /home/seurer/gcc/build/gcc-test/gcc/xgcc
-B/home/seurer/gcc/build/gcc-test/gcc/
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.target/powerpc/vsx-vector-2.c  
-fno-diagnostics-show-caret -fdiagnostics-color=never  -O2 -ftree-vectorize
-mcpu=power7 -ffast-math -ffat-lto-objects -S   -o vsx-vector-2.s    (timeout =
300)
spawn /home/seurer/gcc/build/gcc-test/gcc/xgcc
-B/home/seurer/gcc/build/gcc-test/gcc/
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.target/powerpc/vsx-vector-2.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -O2 -ftree-vectorize
-mcpu=power7 -ffast-math -ffat-lto-objects -S -o vsx-vector-2.s
PASS: gcc.target/powerpc/vsx-vector-2.c (test for excess errors)
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvaddsp
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvsubsp
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvmulsp
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvdivsp
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler vmadd
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvmsub
FAIL: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvsqrtsp
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvcpsgnsp
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvrspim
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvrspip
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvrspiz
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvrspic
PASS: gcc.target/powerpc/vsx-vector-2.c scan-assembler xvrspi 

The differences in the output are significant:

seurer@genoa:~/gcc/build/gcc-test3$ diff vsx-vector-2.s.r232631 
vsx-vector-2.s.r232632
. . .
242a243
>       xxlxor 11,11,11
245,246c246
<       ld 10,.LC22@toc@l(9)
<       li 9,0
---
>       addi 9,9,.LC22@toc@l
248c248,252
<       .p2align 5,,31
---
>       lxvd2x 10,0,9
>       addis 9,2,.LC23@toc@ha
>       ld 10,.LC23@toc@l(9)
>       li 9,0
>       .p2align 4,,15
251c255,261
<       xvsqrtsp 0,0
---
>       xvrsqrtesp 12,0
>       xvcmpgtsp 9,0,11
>       xxsel 12,11,12,9
>       xvmulsp 0,12,0
>       xvmulsp 12,12,10
>       xvnmsubmsp 12,0,10
>       xvmaddasp 0,0,12

Those are in the vector_sqrt function.

------------------------------------------------------------------------
r232632 | dje | 2016-01-20 13:39:08 -0600 (Wed, 20 Jan 2016) | 6 lines

        PR target/68609
        * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
        domain check.
        * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
        for V4SFmode.

Reply via email to