From: ktkachov Date: Mon, 23 Nov 2015 14:56:03 +0000 (+0000) Subject: [AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af7bcbf79ef2868ff7bcc58eb89e6c3da7a70faf;p=thirdparty%2Fgcc.git [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 --- 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; +}