[Bug c/60847] New: x86 BMI intrinsics not recognized
spatel at rotateright dot com
gcc-bugzilla@gcc.gnu.org
Tue Apr 15 16:02:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60847
Bug ID: 60847
Summary: x86 BMI intrinsics not recognized
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: spatel at rotateright dot com
With gcc 4.9.0 (version details below), the x86 bit manipulation instruction
(BMI) C intrinsics are not being recognized. This appears to be a regression
from gcc 4.8.2.
$ cat bmi.c
#include <x86intrin.h>
int foo(int a) { return _blsmsk_u32(a); }
int foo2(int a) { return _blsr_u32(a); }
$ gcc -O1 bmi.c -mbmi -S -o -
.text
.globl _foo
_foo:
LFB2449:
subq $8, %rsp
LCFI0:
movl $0, %eax
call __blsmsk_u32 <--- this should be a 'blsmsk' instruction
addq $8, %rsp
LCFI1:
ret
LFE2449:
.globl _foo2
_foo2:
LFB2450:
subq $8, %rsp
LCFI2:
movl $0, %eax
call __blsr_u32 <--- this should be a 'blsr' instruction
addq $8, %rsp
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin13/4.9.0/lto-wrapper
Target: x86_64-apple-darwin13
Configured with:
/opt/local/var/macports/build/_opt_mports_dports_lang_gcc49/gcc49/work/gcc-4.9-20140406/configure
--prefix=/opt/local --build=x86_64-apple-darwin13
--enable-languages=c,c++,objc,obj-c++,fortran,java
--libdir=/opt/local/lib/gcc49 --includedir=/opt/local/include/gcc49
--infodir=/opt/local/share/info --mandir=/opt/local/share/man
--datarootdir=/opt/local/share/gcc-4.9 --with-local-prefix=/opt/local
--with-system-zlib --disable-nls --program-suffix=-mp-4.9
--with-gxx-include-dir=/opt/local/include/gcc49/c++/ --with-gmp=/opt/local
--with-mpfr=/opt/local --with-mpc=/opt/local --with-cloog=/opt/local
--enable-cloog-backend=isl --disable-cloog-version-check
--enable-stage1-checking --disable-multilib --enable-lto
--enable-libstdcxx-time --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld
--with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket
--with-pkgversion='MacPorts gcc49 4.9-20140406_0'
Thread model: posix
gcc version 4.9.0 20140406 (experimental) (MacPorts gcc49 4.9-20140406_0)
More information about the Gcc-bugs
mailing list