diff mbox series

[1/6] Backport Power10 paddi/pli tests

Message ID 20200804055113.GA6014@ibm-tinman.the-meissners.org
State New
Headers show
Series Backport power10 prefixed instruction tests to GCC 10 | expand

Commit Message

Michael Meissner Aug. 4, 2020, 5:51 a.m. UTC
Backport Power10 paddi/pli tests

This backport patch adds test for the PADDI instruction (and the PLI variant)
to add or load up 34 bit constants.  It has been in the master branch since
June, and no changes were needed for GCC 10.  Can I check this into the GCC 10
branch?

gcc/testsuite/
2020-08-03  Michael Meissner  <meissner@linux.ibm.com>

	Backport from the master branch:
	2020-06-27  Michael Meissner  <meissner@linux.ibm.com>

	* gcc.target/powerpc/prefix-add.c: New test.
	* gcc.target/powerpc/prefix-si-constant.c: New test.
	* gcc.target/powerpc/prefix-di-constant.c: New test.

---
 gcc/testsuite/gcc.target/powerpc/prefix-add.c         | 14 ++++++++++++++
 gcc/testsuite/gcc.target/powerpc/prefix-di-constant.c | 13 +++++++++++++
 gcc/testsuite/gcc.target/powerpc/prefix-si-constant.c | 12 ++++++++++++
 3 files changed, 39 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/powerpc/prefix-add.c
 create mode 100644 gcc/testsuite/gcc.target/powerpc/prefix-di-constant.c
 create mode 100644 gcc/testsuite/gcc.target/powerpc/prefix-si-constant.c
diff mbox series

Patch

diff --git a/gcc/testsuite/gcc.target/powerpc/prefix-add.c b/gcc/testsuite/gcc.target/powerpc/prefix-add.c
new file mode 100644
index 0000000..0027406
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/prefix-add.c
@@ -0,0 +1,14 @@ 
+/* { dg-do compile } */
+/* { dg-require-effective-target powerpc_prefixed_addr } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+
+/* Test that PADDI is generated to add a large constant.  */
+unsigned long
+add (unsigned long a)
+{
+  return a + 0x12345U;
+}
+
+/* { dg-final { scan-assembler     {\mpaddi\M} } } */
+/* { dg-final { scan-assembler-not {\maddi\M}  } } */
+/* { dg-final { scan-assembler-not {\maddis\M} } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/prefix-di-constant.c b/gcc/testsuite/gcc.target/powerpc/prefix-di-constant.c
new file mode 100644
index 0000000..aca7897
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/prefix-di-constant.c
@@ -0,0 +1,13 @@ 
+/* { dg-do compile } */
+/* { dg-require-effective-target powerpc_prefixed_addr } */
+/* { dg-require-effective-target lp64 } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+
+/* Test that PLI (PADDI) is generated to load a large constant.  */
+unsigned long long
+large (void)
+{
+  return 0x12345678ULL;
+}
+
+/* { dg-final { scan-assembler {\mpli\M} } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/prefix-si-constant.c b/gcc/testsuite/gcc.target/powerpc/prefix-si-constant.c
new file mode 100644
index 0000000..6403aa8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/prefix-si-constant.c
@@ -0,0 +1,12 @@ 
+/* { dg-do compile } */
+/* { dg-require-effective-target powerpc_prefixed_addr } */
+/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
+
+/* Test that PLI (PADDI) is generated to load a large constant for SImode.  */
+void
+large_si (unsigned int *p)
+{
+  *p = 0x12345U;
+}
+
+/* { dg-final { scan-assembler {\mpli\M} } } */