From: Peter Bergner Date: Tue, 4 Aug 2015 02:19:40 +0000 (-0500) Subject: backport: htm-tabort-no-r0.c: New test. X-Git-Tag: releases/gcc-4.9.4~663 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0643d3a169ce0dfe82f119220e84baeedc2909df;p=thirdparty%2Fgcc.git backport: htm-tabort-no-r0.c: New test. gcc/ Backport from mainline: 2015-08-03 Peter Bergner * gcc.target/powerpc/htm-tabort-no-r0.c: New test. gcc/testsuite/ Backport from mainline: 2015-08-03 Peter Bergner * config/rs6000/htm.md (tabort.): Restrict the source operand to using a base register. From-SVN: r226542 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 035cbbf4dfed..500475664445 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2015-08-03 Peter Bergner + + Backport from mainline: + 2015-08-03 Peter Bergner + + * config/rs6000/htm.md (tabort.): Restrict the source operand to + using a base register. + 2015-08-03 John David Anglin PR target/67060 diff --git a/gcc/config/rs6000/htm.md b/gcc/config/rs6000/htm.md index dbfd0db59621..cec253814d36 100644 --- a/gcc/config/rs6000/htm.md +++ b/gcc/config/rs6000/htm.md @@ -48,7 +48,7 @@ (define_insn "tabort" [(set (match_operand:CC 1 "cc_reg_operand" "=x") - (unspec_volatile:CC [(match_operand:SI 0 "gpc_reg_operand" "r")] + (unspec_volatile:CC [(match_operand:SI 0 "base_reg_operand" "b")] UNSPECV_HTM_TABORT))] "TARGET_HTM" "tabort. %0" diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2e4e269146e5..d31d9411222e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2015-08-03 Peter Bergner + + Backport from mainline: + 2015-08-03 Peter Bergner + + * gcc.target/powerpc/htm-tabort-no-r0.c: New test. + 2015-08-03 Szabolcs Nagy Backport form mainline r226496. diff --git a/gcc/testsuite/gcc.target/powerpc/htm-tabort-no-r0.c b/gcc/testsuite/gcc.target/powerpc/htm-tabort-no-r0.c new file mode 100644 index 000000000000..691e5174695e --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/htm-tabort-no-r0.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_htm_ok } */ +/* { dg-options "-O2 -mhtm -ffixed-r3 -ffixed-r4 -ffixed-r5 -ffixed-r6 -ffixed-r7 -ffixed-r8 -ffixed-r9 -ffixed-r10 -ffixed-r11 -ffixed-r12" } */ + +/* { dg-final { scan-assembler-not "tabort\\.\[ \t\]0" } } */ + +int +foo (void) +{ + return __builtin_tabort (10); +}