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.

Reply via email to