re PR target/65624 (ICE in aarch64-builtins.c when expanding 4-argument aarch64 intrinsic.)

2015-04-01  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	PR target/65624

	gcc/
	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): Increase
	args array size by one to avoid buffer overflow.

	gcc/testsuite/
	* gcc.target/aarch64/pr65624.c: New test.

From-SVN: r221807
This commit is contained in:
Max Ostapenko 2015-04-01 14:18:03 +03:00 committed by Maxim Ostapenko
parent 41f669d825
commit 0ff2bf464e
4 changed files with 27 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
PR target/65624
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): Increase
args array size by one to avoid buffer overflow.
2015-03-31 Jan Hubicka <hubicka@ucw.cz>
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream

View File

@ -1025,7 +1025,7 @@ aarch64_simd_expand_builtin (int fcode, tree exp, rtx target)
aarch64_simd_builtin_datum *d =
&aarch64_simd_builtin_data[fcode - AARCH64_SIMD_PATTERN_START];
enum insn_code icode = d->code;
builtin_simd_arg args[SIMD_MAX_BUILTIN_ARGS];
builtin_simd_arg args[SIMD_MAX_BUILTIN_ARGS + 1];
int num_args = insn_data[d->code].n_operands;
int is_void = 0;
int k;

View File

@ -1,3 +1,8 @@
2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
PR target/65624
* gcc.target/aarch64/pr65624.c: New test.
2015-03-31 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/ipa/inlinehint-4.c: New testcase.

View File

@ -0,0 +1,15 @@
/* { dg-do compile } */
#include <arm_neon.h>
int32x4_t
foo (void)
{
int32x4_t vector_int32x4;
int16x4_t vector3_int16x4;
int16x4_t vector4_int16x4;
static int32_t buffer_int32x4[32];
vector_int32x4 = vld1q_s32(buffer_int32x4);
return vqdmlsl_lane_s16(vector_int32x4, vector3_int16x4, vector4_int16x4, 0);
}