https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63365
Bug ID: 63365 Summary: [ARM] Incorrect copy propagation for vclz intrinsic Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Created attachment 33558 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33558&action=edit Test case demonstrating incorrect code generation for vclz Compiling and executing the attached testcase at -O2 produces incorrect code and execution results. Instead of code being generated for the vclz instruction the compiler propagates an incorrect constant value for what it believes will be the result of the instruction. The attached test case is part of a proposed set of DejaGnu tests for neon intrinsics. ------------------------------------------------------------------------------ Target: arm-linux-gnueabihf Configured with: '/home/michael-collison/neon-intrinsic-build/snapshots/gcc.git~neon-intrinsic-christophe/configure' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --with-mpc=/home/michael-collison/neon-intrinsic-build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/michael-collison/neon-intrinsic-build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/michael-collison/neon-intrinsic-build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-multiarch --disable-multilib --enable-c99 --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --with-sysroot=/opt/linaro/sysroot-linaro_eglibc-2_19-arm-clean-linux-gnueabihf --with-build-sysroot=/home/michael-collison/neon-intrinsic-build/sysroots/arm-clean-linux-gnueabihf --enable-lto --enable-linker-build-id --enable-long-long --enable-languages=c,c++,fortran,go,lto --with-bugurl=https://bugs.launchpad.net/gcc-linaro --with-pkgversion='Linaro GCC 2014.08' --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-clean-linux-gnueabihf --prefix=/home/michael-collison/neon-intrinsic-build/builds/destdir/x86_64-unknown-linux-gnu Thread model: posix gcc version 4.10.0 20140812 (experimental) (Linaro GCC 2014.08)