From e322d6e350ed9061e4bf3ebb0f67bc88ebb3ae9b Mon Sep 17 00:00:00 2001 From: Kyrylo Tkachov Date: Mon, 23 Nov 2015 14:56:03 +0000 Subject: [PATCH] [AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop PR target/68363 * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments that are not INSN_P. * gcc.target/aarch64/pr68363_1.c: New test. From-SVN: r230760 --- gcc/ChangeLog | 6 ++++++ gcc/config/aarch64/aarch64.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.target/aarch64/pr68363_1.c | 19 +++++++++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/pr68363_1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 988f723..1fcb0f5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-11-23 Kyrylo Tkachov + + PR target/68363 + * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments + that are not INSN_P. + 2015-11-23 Bilyan Borisov * config/aarch64/aarch64-builtins.c diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 54b9b42..3fe2f0f 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -10108,7 +10108,7 @@ aarch64_madd_needs_nop (rtx_insn* insn) if (!TARGET_FIX_ERR_A53_835769) return false; - if (recog_memoized (insn) < 0) + if (!INSN_P (insn) || recog_memoized (insn) < 0) return false; attr_type = get_attr_type (insn); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2a5d893..e14bebf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-11-23 Kyrylo Tkachov + + PR target/68363 + * gcc.target/aarch64/pr68363_1.c: New test. + 2015-11-23 Bilyan Borisov * gcc.target/aarch64/simd/vmulx.x: New. diff --git a/gcc/testsuite/gcc.target/aarch64/pr68363_1.c b/gcc/testsuite/gcc.target/aarch64/pr68363_1.c new file mode 100644 index 0000000..bb294b5 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/pr68363_1.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-options "-mfix-cortex-a53-835769" } */ + +int +foo (int i) +{ + switch (i) + { + case 0: + case 2: + case 5: + return 0; + case 7: + case 11: + case 13: + return 1; + } + return -1; +} -- 2.7.4