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

            Bug ID: 102798
           Summary: [9/10/11/12 Regression] wrong code with -O3
                    -fno-tree-pta -mavx512f
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 51616
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51616&action=edit
auto-reduced testcase (from OpenSSL sources)

$ x86_64-pc-linux-gnu-gcc -O3 -fno-tree-pta -mavx512f testcase.c
$ gdb ./a.out
...
(gdb) r
Starting program: /home/smatz/gcc-bug/58/a.out 

Program received signal SIGSEGV, Segmentation fault.
BUF_reverse (out=<optimized out>, out@entry=0x7fffffffda60 "", in=<optimized
out>, in@entry=0x0, size=size@entry=40) at testcase.c:11
11              *out-- = *in++;
(gdb) disas
Dump of assembler code for function BUF_reverse:
...
   0x0000000000401200 <+96>:    and    $0xffffffffffffffe0,%r9
   0x0000000000401204 <+100>:   add    %rcx,%r9
   0x0000000000401207 <+103>:   nopw   0x0(%rax,%rax,1)
=> 0x0000000000401210 <+112>:   vmovdqu (%rdx),%ymm2
   0x0000000000401214 <+116>:   add    $0x20,%rdx
   0x0000000000401218 <+120>:   sub    $0x20,%rdi
   0x000000000040121c <+124>:   vperm2i128 $0x1,%ymm2,%ymm2,%ymm0
...
(gdb) info reg
rax            0x28                40
rbx            0x4013d0            4199376
rcx            0x0                 0
rdx            0x0                 0
...

$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r12-4456-20211016001627-g93d183a5fff-checking-yes-rtl-df-extra-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--with-cloog --with-ppl --with-isl --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu
--with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r12-4456-20211016001627-g93d183a5fff-checking-yes-rtl-df-extra-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.0.0 20211016 (experimental) (GCC)

Reply via email to