https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71754
Bug ID: 71754 Summary: gcc prints internal error on ARM NEON code with buffer overflow Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: olme8 at mail dot ru Target Milestone: --- $ cat test.c #if 0 #include <arm_neon.h> #else typedef int int32_t; typedef __builtin_neon_si int32x2_t __attribute__ ((__vector_size__ (8))); __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_s32 (int32_t * __a, int32x2_t __b) { __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b); } #endif void test(int32x2_t a) { int temp[1]; vst1_s32(temp+1, a); } $ NDK=$HOME/android-ndk-r11c $ $NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --version arm-linux-androideabi-gcc (GCC) 4.9 20150123 (prerelease) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ $NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=$NDK/platforms/android-21/arch-arm -Wall -Wextra -O2 -march=armv7-a -mfloat-abi=softfp -mfpu=neon -c test.c -o test.o test.c: In function 'test': test.c:17:1: error: unrecognizable insn: } ^ (insn 6 3 0 2 (set (mem:V2SI (reg/f:SI 105 virtual-stack-vars) [0 MEM[(__builtin_neon_si[2] *)&temp + 4B]+0 S8 A32]) (unspec:V2SI [ (reg/v:V2SI 110 [ a ]) ] UNSPEC_VST1)) test.c:10 -1 (nil)) test.c:17:1: internal compiler error: in extract_insn, at recog.c:2202 Please submit a full bug report, with preprocessed source if appropriate. See <http://source.android.com/source/report-bugs.html> for instructions.