]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: htm-tabort-no-r0.c: New test.
authorPeter Bergner <bergner@vnet.ibm.com>
Tue, 4 Aug 2015 02:19:40 +0000 (21:19 -0500)
committerPeter Bergner <bergner@gcc.gnu.org>
Tue, 4 Aug 2015 02:19:40 +0000 (21:19 -0500)
gcc/
Backport from mainline:
2015-08-03  Peter Bergner  <bergner@vnet.ibm.com>

* gcc.target/powerpc/htm-tabort-no-r0.c: New test.

gcc/testsuite/

Backport from mainline:
2015-08-03  Peter Bergner  <bergner@vnet.ibm.com>

* config/rs6000/htm.md (tabort.): Restrict the source operand to
using a base register.

From-SVN: r226542

gcc/ChangeLog
gcc/config/rs6000/htm.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/htm-tabort-no-r0.c [new file with mode: 0644]

index 035cbbf4dfed4ea9f263b725cb41e6495cc1e2e5..5004756644452f930903a37f05208b108d760377 100644 (file)
@@ -1,3 +1,11 @@
+2015-08-03  Peter Bergner  <bergner@vnet.ibm.com>
+
+       Backport from mainline:
+       2015-08-03  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * config/rs6000/htm.md (tabort.): Restrict the source operand to
+       using a base register.
+
 2015-08-03  John David Anglin  <danglin@gcc.gnu.org>
 
        PR target/67060
index dbfd0db59621210da791d46b9d4677cf6241c31c..cec253814d366ab3f44bb4fbda4177ebef341dcf 100644 (file)
@@ -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"
index 2e4e269146e50bf026aea68a219dd89517135380..d31d9411222eae0396107778a71ca3535269027c 100644 (file)
@@ -1,3 +1,10 @@
+2015-08-03  Peter Bergner  <bergner@vnet.ibm.com>
+
+       Backport from mainline:
+       2015-08-03  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * gcc.target/powerpc/htm-tabort-no-r0.c: New test.
+
 2015-08-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
        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 (file)
index 0000000..691e517
--- /dev/null
@@ -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);
+}