https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65837
--- Comment #10 from prathamesh3492 at gcc dot gnu.org --- (In reply to Richard Biener from comment #9) > (In reply to prathamesh3492 from comment #3) > > Hi, > > I tried to reproduce the error with a reduced test-case: > > > > #include "arm_neon.h" > > > > float32x2_t a, b, c, e; > > > > int main() > > { > > e = __builtin_neon_vmls_lanev2sf (a, b, c, 0); > > return 0; > > } > > > > arm-linux-gnueabihf-gcc -mfpu=neon test.c -flto test.c -c > > arm-linux-gnueabihf-gcc test.o -flto -o test > > this should still work according to my experiments. -mfpu=neon should > be passed to lto1 at link time - can you verify it's in the lto option > section in test.o and on lto1 (by adding -v)? -fmpu=neon is present, however it seems it's overriden by -mfpu=vfpv3-d16 in the test.o file arm-linux-gnueabihf-gcc -v -flto test.o COLLECT_GCC_OPTIONS='-c' '-fmath-errno' '-fsigned-zeros' '-ftrapping-math' '-fno-trapv' '-fno-strict-overflow' '-fno-openmp' '-fno-openacc' '-mfpu=neon' '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=hard' '-mthumb' '-mtls-dialect=gnu' '-v' '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu' '-fltrans-output-list=/tmp/cc43ypaC.ltrans.out' '-fwpa' '-fresolution=/tmp/ccmDzd6z.res' /home/prathamesh.kulkarni/gcc-linaro-6.0/bin/../lib/gcc/../../libexec/gcc/arm-linux-gnueabihf/6.0.0/lto1 -quiet -dumpbase test.o -mfpu=neon -march=armv7-a -mtune=cortex-a9 -mfloat-abi=hard -mthumb -mtls-dialect=gnu -march=armv7-a -mtune=cortex-a9 -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -mtls-dialect=gnu -auxbase test -version -fmath-errno -fsigned-zeros -ftrapping-math -fno-trapv -fno-strict-overflow -fno-openmp -fno-openacc -fltrans-output-list=/tmp/cc43ypaC.ltrans.out -fwpa -fresolution=/tmp/ccmDzd6z.res @/tmp/ccus6SMC adding -mfpu=neon in the command line, only has -mfpu=neon arm-linux-gnueaihf-gcc -v -mfpu=neon -flto test.o COLLECT_GCC_OPTIONS='-c' '-fmath-errno' '-fsigned-zeros' '-ftrapping-math' '-fno-trapv' '-fno-strict-overflow' '-fno-openmp' '-fno-openacc' '-mfpu=neon' '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=hard' '-mthumb' '-mtls-dialect=gnu' '-v' '-mfpu=neon' '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=hard' '-mthumb' '-mtls-dialect=gnu' '-fltrans-output-list=/tmp/ccCo0pAW.ltrans.out' '-fwpa' '-fresolution=/tmp/ccRqEsoP.res' /home/prathamesh.kulkarni/gcc-linaro-6.0/bin/../lib/gcc/../../libexec/gcc/arm-linux-gnueabihf/6.0.0/lto1 -quiet -dumpbase test.o -mfpu=neon -march=armv7-a -mtune=cortex-a9 -mfloat-abi=hard -mthumb -mtls-dialect=gnu -mfpu=neon -march=armv7-a -mtune=cortex-a9 -mfloat-abi=hard -mthumb -mtls-dialect=gnu -auxbase test -version -fmath-errno -fsigned-zeros -ftrapping-math -fno-trapv -fno-strict-overflow -fno-openmp -fno-openacc -fltrans-output-list=/tmp/ccCo0pAW.ltrans.out -fwpa -fresolution=/tmp/ccRqEsoP.res @/tmp/ccArRJjW Thanks, Prathamesh > > > lto1: fatal error: target specific builtin not available > > compilation terminated. > > lto-wrapper: fatal error: > > /home/prathamesh.kulkarni/gnu-toolchain/gcc-chromium-arm-linux-gnueabihf/ > > builds/destdir/x86_64-unknown-linux-gnu/bin/arm-linux-gnueabihf-gcc returned > > 1 exit status > > compilation terminated. > > > > However passing -mfpu=neon for linking works: > > arm-linux-gnueabihf-gcc -mfpu=neon test.o -flto -o test > > > > I suppose similar thing must be happening during linking > > libshared_memory_support.so for chromium build ? > > I couldn't see -mfpu=neon in the command line used for linking > > libshared_memory_support.so > > > > Thank you, > > Prathamesh