[Bug rtl-optimization/87817] New: [9 Regression] gcc.target/i386/bmi2-bzhi-2.c execution test
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Oct 30 17:33:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87817
Bug ID: 87817
Summary: [9 Regression] gcc.target/i386/bmi2-bzhi-2.c execution
test
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
CC: segher at kernel dot crashing.org
Target Milestone: ---
On x86-64, r265398 caused:
FAIL: gcc.target/i386/bmi2-bzhi-2.c execution test
on BMI2 machines:
[hjl@gnu-cfl-1 gcc]$
/export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/
/export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/bmi2-bzhi-2.c
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never -O2 -mbmi2 -lm -o ./bmi2-bzhi-2.exe -g
gd[hjl@gnu-cfl-1 gcc]$ gdb ./bmi2-bzhi-2.exe
GNU gdb (GDB) Fedora 8.1.1-3.fc28
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
BFD: warning:
/export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/testsuite/gcc/bmi2-bzhi-2.exe:
unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010000
BFD: warning:
/export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/testsuite/gcc/bmi2-bzhi-2.exe:
unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
Reading symbols from ./bmi2-bzhi-2.exe...done.
(gdb) r
Starting program:
/export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/testsuite/gcc/bmi2-bzhi-2.exe
BFD: warning: /lib64/ld-linux-x86-64.so.2: unsupported GNU_PROPERTY_TYPE (5)
type: 0xc0010000
BFD: warning: /lib64/ld-linux-x86-64.so.2: unsupported GNU_PROPERTY_TYPE (5)
type: 0xc0010001
Missing separate debuginfos, use: dnf debuginfo-install
glibc-2.27-33.2.fc28.x86_64
BFD: warning: /lib64/libm.so.6: unsupported GNU_PROPERTY_TYPE (5) type:
0xc0010000
BFD: warning: /lib64/libm.so.6: unsupported GNU_PROPERTY_TYPE (5) type:
0xc0010001
BFD: warning: /lib64/libc.so.6: unsupported GNU_PROPERTY_TYPE (5) type:
0xc0010000
BFD: warning: /lib64/libc.so.6: unsupported GNU_PROPERTY_TYPE (5) type:
0xc0010001
Program received signal SIGABRT, Aborted.
0x00007ffff7c874cf in raise () from /lib64/libc.so.6
(gdb) f 2
#2 0x0000000000401045 in bmi2_test ()
at
/export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/bmi2-bzhi-2.c:56
56 abort ();
(gdb) list
51 || f5 () != 0x7fffffffU || f6 (-1U) != 0x7fffffffU
52 || f7 () != -1U || f8 (-1U) != -1U
53 || f9 () != -1U || f10 (-1U) != -1U
54 || f11 () != 1 || f12 (-1U) != 1
55 || f13 () != -1U || f14 (-1U) != -1U)
56 abort ();
57 #ifdef __x86_64__
58 if (f21 () != 0 || f22 (-1ULL) != 0
59 || f23 () != 0x1f || f24 (-1ULL) != 0x1f
60 || f25 () != 0x7fffffffffffffffULL || f26 (-1ULL) !=
0x7fffffffffffffffULL
(gdb)
[hjl@gnu-cfl-1 gcc]$ cat /tmp/x.c
#include <x86intrin.h>
__attribute__((noinline, noclone))
unsigned long long
f22 (unsigned long long x)
{
return _bzhi_u64 (x, 0);
}
int
main ()
{
if (f22 (-1ULL) != 0)
abort ();
return 0;
}
[hjl@gnu-cfl-1 gcc]$ ./xgcc -B./ -O -mbmi2 /tmp/x.c -g
[hjl@gnu-cfl-1 gcc]$ ./a.out
Aborted
[hjl@gnu-cfl-1 gcc]$
[hjl@gnu-cfl-1 gcc]$ cat f.c
#include <x86intrin.h>
unsigned long long
f22 (unsigned long long x)
{
return _bzhi_u64 (x, 0);
}
[hjl@gnu-cfl-1 gcc]$ ./xgcc -B./ -O -mbmi2 f.c -S
cat[hjl@gnu-cfl-1 gcc]$ cat f.s
.file "f.c"
.text
.globl f22
.type f22, @function
f22:
.LFB5459:
.cfi_startproc
movl $64, %edx
shlx %rdx, %rdi, %rax
shrx %rdx, %rax, %rax
ret
.cfi_endproc
.LFE5459:
.size f22, .-f22
.ident "GCC: (GNU) 9.0.0 20181030 (experimental)"
.section .note.GNU-stack,"",@progbits
[hjl@gnu-cfl-1 gcc]$ gcc -O -mbmi2 f.c -S
[hjl@gnu-cfl-1 gcc]$ cat f.s
.file "f.c"
.text
.globl f22
.type f22, @function
f22:
.LFB5447:
.cfi_startproc
movl $0, %eax
bzhi %rax, %rdi, %rax
ret
.cfi_endproc
.LFE5447:
.size f22, .-f22
.ident "GCC: (GNU) 8.2.1 20181011 (Red Hat 8.2.1-4)"
.section .note.GNU-stack,"",@progbits
[hjl@gnu-cfl-1 gcc]$
More information about the Gcc-bugs
mailing list