http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51968
Bug #: 51968 Summary: gcc trunk (ARM) ICEs in final_scan_insn in final.c:2716, with "could not split insn" error msg Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: eric.ba...@allegorithmic.com Created attachment 26433 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26433 Preprocessed file that triggers the ICE Trunk gcc compiled with Android's build-gcc.sh ICEs on the attached preprocessed file. The actual error message is: ../../../engine/src/filters/cpu/shader/jpeg_simd.cpp:753:1: error: could not split insn (insn 2104 4054 4050 (set (reg:V16QI 103 d20 [orig:846 D.35902 ] [846]) (vec_concat:V16QI (reg:V8QI 103 d20 [2317]) (reg:V8QI 105 d21 [2318]))) /home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.7.0/include/arm_neon.h:5694 1348 {neon_vcombinev8qi} (nil)) ../../../engine/src/filters/cpu/shader/jpeg_simd.cpp:753:1: internal compiler error: in final_scan_insn, at final.c:2716 This is a regression caused by commit 183051, and breaks a lot of Neon code in our codebase :) cc1plus command: cc1plus -fpreprocessed jpeg_simd.ii -quiet -dumpbase jpeg_simd.cpp -mandroid -mbionic -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfp -mfpu=neon -marm -mtls-dialect=gnu -auxbase-strip tmp/obj/android-g++/release/cpushader_neon/jpeg_simd.o -O2 -O2 -Wno-unused-function -Wno-psabi -Werror=implicit-function-declaration -Wall -Wextra -Wno-strict-aliasing -Wno-unused -Wno-switch -Wno-comment -version -fpic -flax-vector-conversions -fdata-sections -ffunction-sections -fno-short-enums -fno-exceptions -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -fPIC -o jpeg_simd.s gcc -v -save-temps yields: Using built-in specs. COLLECT_GCC=/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ COLLECT_LTO_WRAPPER=/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/libexec/gcc/arm-linux-androideabi/4.7.0/lto-wrapper Target: arm-linux-androideabi Configured with: /home/eb/android-ndk-r6/src/build/../gcc/gcc-4.7.0/configure --prefix=/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86 --target=arm-linux-androideabi --host=i386-linux-gnu --build=i386-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-eb/build/toolchain/temp-install --with-mpfr=/tmp/ndk-eb/build/toolchain/temp-install --with-mpc=/tmp/ndk-eb/build/toolchain/temp-install --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86 --with-sysroot=/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/sysroot --with-binutils-version=2.21.53 --with-mpfr-version=3.0.1 --with-gmp-version=5.0.2 --with-gcc-version=4.7.0 --with-gdb-version=6.6 --with-mpc-version=0.9 --with-arch=armv5te --enable-libstdc__-v3 --program-transform-name='s,^,arm-linux-androideabi-,' Thread model: posix gcc version 4.7.0 20120123 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-mandroid' '-mbionic' '-Wno-unused-function' '-Wno-psabi' '-march=armv7-a' '-mcpu=cortex-a9' '-mfloat-abi=softfp' '-mfpu=vfp' '-fpic' '-Werror=implicit-function-declaration' '-flax-vector-conversions' '-fdata-sections' '-ffunction-sections' '-fno-short-enums' '-D' 'ANDROID' '-D' '__ARM_ARCH_5__' '-D' '__ARM_ARCH_5T__' '-D' '__ARM_ARCH_5E__' '-D' '__ARM_ARCH_5TE__' '-D' '__ARM_NEON__' '-D' 'S_IWRITE=0200' '-D' 'HAVE_USR_INCLUDE_MALLOC_H' '-D' 'MADV_FREE=5' '-D' 'LINUX' '-D' 'PAGE_SIZE=0x400' '-D' 'HAVE_PTHREAD_MUTEX_TIMEDLOCK' '-D' 'HAVE_SYS_SEM_H' '-D' 'WEBPLUG=0' '-D' 'GAMERELEASE=1' '-D' 'DEBUGMODE=0' '-D' 'UNITY_RELEASE=1' '-D' 'ENABLE_PROFILER=0' '-D' 'ANDROID' '-D' 'OS_ANDROID' '-D' '_STLP_HAS_WCHAR_T' '-D' 'BOOST_NO_CWCHAR' '-D' 'ALG_DEBUG_SIMPLEOUTPUT' '-D' 'QT_NO_QWS_TRANSFORMED' '-fno-exceptions' '-fno-rtti' '-fvisibility=hidden' '-fvisibility-inlines-hidden' '-mfpu=neon' '-O2' '-marm' '-O2' '-fno-strict-aliasing' '-fPIC' '-D' '_REENTRANT' '-Wall' '-Wextra' '-Wno-strict-aliasing' '-Wno-unused' '-Wno-switch' '-Wno-comment' '-D' 'ALG_MAIN_CPU_ON' '-D' 'FX_PRJ_RDXM' '-D' 'FX_PRJ_DXTENC' '-D' 'FX_PRJ_PVRENC' '-D' 'FX_PRJ_ETC' '-D' 'emit=' '-D' 'NDEBUG' '-D' 'ALG_ISA_NEON' '-D' 'FX_ARCH_CURRENT_NEON' '-D' 'FX_ARCH_ON_NEON' '-D' 'ALG_DEBUG_SIMPLEOUTPUT' '-I' '/usr/lib/qt4/mkspecs/android-g++' '-I' '.' '-I' '../../../../common/components/include' '-I' '/home/eb/android-ndk-r6/sources/cxx-stl/stlport/stlport' '-I' '/home/eb/android-ndk-r6/platforms/android-9/arch-arm/usr/include' '-o' 'tmp/obj/android-g++/release/cpushader_neon/jpeg_simd.o' '-mtls-dialect=gnu' /home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/libexec/gcc/arm-linux-androideabi/4.7.0/cc1plus -E -quiet -v -I /usr/lib/qt4/mkspecs/android-g++ -I . -I ../../../../common/components/include -I /home/eb/android-ndk-r6/sources/cxx-stl/stlport/stlport -I /home/eb/android-ndk-r6/platforms/android-9/arch-arm/usr/include -imultilib armv7-a -D_GNU_SOURCE -D ANDROID -D __ARM_ARCH_5__ -D __ARM_ARCH_5T__ -D __ARM_ARCH_5E__ -D __ARM_ARCH_5TE__ -D __ARM_NEON__ -D S_IWRITE=0200 -D HAVE_USR_INCLUDE_MALLOC_H -D MADV_FREE=5 -D LINUX -D PAGE_SIZE=0x400 -D HAVE_PTHREAD_MUTEX_TIMEDLOCK -D HAVE_SYS_SEM_H -D WEBPLUG=0 -D GAMERELEASE=1 -D DEBUGMODE=0 -D UNITY_RELEASE=1 -D ENABLE_PROFILER=0 -D ANDROID -D OS_ANDROID -D _STLP_HAS_WCHAR_T -D BOOST_NO_CWCHAR -D ALG_DEBUG_SIMPLEOUTPUT -D QT_NO_QWS_TRANSFORMED -D _REENTRANT -D ALG_MAIN_CPU_ON -D FX_PRJ_RDXM -D FX_PRJ_DXTENC -D FX_PRJ_PVRENC -D FX_PRJ_ETC -D emit= -D NDEBUG -D ALG_ISA_NEON -D FX_ARCH_CURRENT_NEON -D FX_ARCH_ON_NEON -D ALG_DEBUG_SIMPLEOUTPUT ../../../engine/src/filters/cpu/shader/jpeg_simd.cpp -mandroid -mbionic -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfp -mfpu=neon -marm -mtls-dialect=gnu -Wno-unused-function -Wno-psabi -Werror=implicit-function-declaration -Wall -Wextra -Wno-strict-aliasing -Wno-unused -Wno-switch -Wno-comment -fpic -flax-vector-conversions -fdata-sections -ffunction-sections -fno-short-enums -fno-exceptions -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -fPIC -O2 -O2 -fpch-preprocess -o jpeg_simd.ii ignoring nonexistent directory "/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.7.0/../../../../arm-linux-androideabi/include/c++/4.7.0" ignoring nonexistent directory "/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.7.0/../../../../arm-linux-androideabi/include/c++/4.7.0/arm-linux-androideabi/armv7-a" ignoring nonexistent directory "/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.7.0/../../../../arm-linux-androideabi/include/c++/4.7.0/backward" ignoring nonexistent directory "/home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/sysroot/usr/local/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/qt4/mkspecs/android-g++ . ../../../../common/components/include /home/eb/android-ndk-r6/sources/cxx-stl/stlport/stlport /home/eb/android-ndk-r6/platforms/android-9/arch-arm/usr/include /home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.7.0/include /home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.7.0/include-fixed /home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.7.0/../../../../arm-linux-androideabi/include /home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/sysroot/usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-mandroid' '-mbionic' '-Wno-unused-function' '-Wno-psabi' '-march=armv7-a' '-mcpu=cortex-a9' '-mfloat-abi=softfp' '-mfpu=vfp' '-fpic' '-Werror=implicit-function-declaration' '-flax-vector-conversions' '-fdata-sections' '-ffunction-sections' '-fno-short-enums' '-D' 'ANDROID' '-D' '__ARM_ARCH_5__' '-D' '__ARM_ARCH_5T__' '-D' '__ARM_ARCH_5E__' '-D' '__ARM_ARCH_5TE__' '-D' '__ARM_NEON__' '-D' 'S_IWRITE=0200' '-D' 'HAVE_USR_INCLUDE_MALLOC_H' '-D' 'MADV_FREE=5' '-D' 'LINUX' '-D' 'PAGE_SIZE=0x400' '-D' 'HAVE_PTHREAD_MUTEX_TIMEDLOCK' '-D' 'HAVE_SYS_SEM_H' '-D' 'WEBPLUG=0' '-D' 'GAMERELEASE=1' '-D' 'DEBUGMODE=0' '-D' 'UNITY_RELEASE=1' '-D' 'ENABLE_PROFILER=0' '-D' 'ANDROID' '-D' 'OS_ANDROID' '-D' '_STLP_HAS_WCHAR_T' '-D' 'BOOST_NO_CWCHAR' '-D' 'ALG_DEBUG_SIMPLEOUTPUT' '-D' 'QT_NO_QWS_TRANSFORMED' '-fno-exceptions' '-fno-rtti' '-fvisibility=hidden' '-fvisibility-inlines-hidden' '-mfpu=neon' '-O2' '-marm' '-O2' '-fno-strict-aliasing' '-fPIC' '-D' '_REENTRANT' '-Wall' '-Wextra' '-Wno-strict-aliasing' '-Wno-unused' '-Wno-switch' '-Wno-comment' '-D' 'ALG_MAIN_CPU_ON' '-D' 'FX_PRJ_RDXM' '-D' 'FX_PRJ_DXTENC' '-D' 'FX_PRJ_PVRENC' '-D' 'FX_PRJ_ETC' '-D' 'emit=' '-D' 'NDEBUG' '-D' 'ALG_ISA_NEON' '-D' 'FX_ARCH_CURRENT_NEON' '-D' 'FX_ARCH_ON_NEON' '-D' 'ALG_DEBUG_SIMPLEOUTPUT' '-I' '/usr/lib/qt4/mkspecs/android-g++' '-I' '.' '-I' '../../../../common/components/include' '-I' '/home/eb/android-ndk-r6/sources/cxx-stl/stlport/stlport' '-I' '/home/eb/android-ndk-r6/platforms/android-9/arch-arm/usr/include' '-o' 'tmp/obj/android-g++/release/cpushader_neon/jpeg_simd.o' '-mtls-dialect=gnu' /home/eb/android-ndk-r6/toolchains/arm-linux-androideabi-4.7.0/prebuilt/linux-x86/libexec/gcc/arm-linux-androideabi/4.7.0/cc1plus -fpreprocessed jpeg_simd.ii -quiet -dumpbase jpeg_simd.cpp -mandroid -mbionic -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfp -mfpu=neon -marm -mtls-dialect=gnu -auxbase-strip tmp/obj/android-g++/release/cpushader_neon/jpeg_simd.o -O2 -O2 -Wno-unused-function -Wno-psabi -Werror=implicit-function-declaration -Wall -Wextra -Wno-strict-aliasing -Wno-unused -Wno-switch -Wno-comment -version -fpic -flax-vector-conversions -fdata-sections -ffunction-sections -fno-short-enums -fno-exceptions -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -fPIC -o jpeg_simd.s GNU C++ (GCC) version 4.7.0 20120123 (experimental) (arm-linux-androideabi) compiled by GNU C version 4.6.0 20110603 (Red Hat 4.6.0-10), GMP version 5.0.2, MPFR version 3.0.1, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.7.0 20120123 (experimental) (arm-linux-androideabi) compiled by GNU C version 4.6.0 20110603 (Red Hat 4.6.0-10), GMP version 5.0.2, MPFR version 3.0.1, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 4654630ea77465d440d8a712bf4ed3eb