This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/69238] New: [4.9/5/6 Regression] gcc.dg/vect/vect-multitypes-1.c FAILs with -O2 -fno-dce -fno-forward-propagate -fno-rerun-cse-after-loop -funroll-loops


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

            Bug ID: 69238
           Summary: [4.9/5/6 Regression] gcc.dg/vect/vect-multitypes-1.c
                    FAILs with -O2 -fno-dce -fno-forward-propagate
                    -fno-rerun-cse-after-loop -funroll-loops
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: powerpc-unknown-linux-gnu

Created attachment 37311
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37311&action=edit
reduced testcase

4.7 - trunk FAILs @ powerpc64
4.8 - trunk FAILs @ powerpc
4.9 FAILs @ i686

Output (qemu userspace emulation):
$ powerpc-unknown-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-powerpc/bin/powerpc-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-232261-checking-yes-rtl-df-nographite-powerpc/bin/../libexec/gcc/powerpc-unknown-linux-gnu/6.0.0/lto-wrapper
Target: powerpc-unknown-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-checking=yes,rtl,df --without-cloog --without-ppl --without-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=powerpc-unknown-linux-gnu
--with-ld=/usr/bin/powerpc-unknown-linux-gnu-ld
--with-as=/usr/bin/powerpc-unknown-linux-gnu-as
--with-sysroot=/usr/powerpc-unknown-linux-gnu --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-232261-checking-yes-rtl-df-nographite-powerpc
Thread model: posix
gcc version 6.0.0 20160112 (experimental) (GCC)

$ powerpc-unknown-linux-gnu-gcc -O2 -fno-dce -fno-forward-propagate
-fno-rerun-cse-after-loop -funroll-loops testcase.c

$ ./a.out 
Invalid data memory access: 0x00000000
NIP 10000e08   LR 10000a40 CTR 00000003 XER 00000000 CPU#0
MSR 00006040 HID0 00000000  HF 00006000 idx 0
TB 00002617 11241216437041
GPR00 0000000000000000 00000000f6ffe7a0 00000000100ba4c0 0000000000000000
GPR04 0000000000000000 0000000000000000 00000000100b1fbe 0000000000000000
GPR08 00000000100b200c 00000000100b1fbe 00000000100b1f4c 0000000000000000
GPR12 0000000000000000 00000000100b8df8 0000000000000000 0000000000000000
GPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR24 00000000100b1fc0 0000000000000000 0000000000000000 0000000000000000
GPR28 00000000100b1f4c 00000000100b1ee0 00000000100b200c 0000000000000000
CR 42000048  [ G  E  -  -  -  -  G  L  ]             RES ffffffff
FPR00 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPSCR 00000000
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault

(gdb) disassemble
...
   0x0000000010001288 <+392>:   sth     r25,4(r5)
   0x000000001000128c <+396>:   lhzu    r29,10(r30)
   0x0000000010001290 <+400>:   lwz     r30,20(r23)
=> 0x0000000010001294 <+404>:   lhz     r23,0(r3)
   0x0000000010001298 <+408>:   cmpld   cr7,r9,r11
   0x000000001000129c <+412>:   lhzu    r31,12(r4)
   0x00000000100012a0 <+416>:   addi    r6,r10,4
...

(gdb) info reg
...
r3             0x0      0
...

r3 doesn't seem to ever hold a valid address (contrary to PR69195), so it
shouldn't be used as a base register.

Tested revisions:
trunk r232261 - FAIL (powerpc, powerpc64)
5-branch r232044 - FAIL (powerpc, powerpc64)
4_9-branch r232043 - FAIL (powerpc, powerpc64, i686)
4_8-branch r224828 - FAIL (powerpc, powerpc64)
4_7-branch r211571 - FAIL (powerpc64)
4_6-branch r197894 - OK
4_5-branch r189152 - OK
4_4-branch r185318 - OK

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]