From af7bcbf79ef2868ff7bcc58eb89e6c3da7a70faf Mon Sep 17 00:00:00 2001 From: ktkachov 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230760 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 988f7238ec51..1fcb0f530bf1 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 54b9b4210fae..3fe2f0f180d1 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 2a5d8930aa0e..e14bebf5acf9 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 000000000000..bb294b50dc01 --- /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.47.2