From: Kyrylo Tkachov Date: Mon, 23 Nov 2015 15:25:36 +0000 (+0000) Subject: [AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop X-Git-Tag: releases/gcc-4.9.4~495 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f44e860c1c1574cda4eabf22de9599cd181811ea;p=thirdparty%2Fgcc.git [AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop Backport from mainline 2015-11-23 Kyrylo Tkachov 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: r230765 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15d77ee61e7b..33584acf3515 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-11-23 Kyrylo Tkachov + + Backport from mainline + 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-19 Matthias Klose Backport from the gcc-5-branch diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 752df4ef7aef..81539975e3c8 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -6564,7 +6564,7 @@ aarch64_madd_needs_nop (rtx insn) if (!aarch64_fix_a53_err835769) 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 0072132c0b0a..08984f016cd0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2015-11-23 Kyrylo Tkachov + + Backport from mainline + 2015-11-23 Kyrylo Tkachov + + PR target/68363 + * gcc.target/aarch64/pr68363_1.c: New test. + 2015-11-12 Eric Botcazou * gcc.target/i386/pr67265-2.c: New test. 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; +}