[gcc/devel/c++-coroutines] PowerPC: PowerPC tests: Add prefixed/pcrel tests.

Iain D Sandoe iains@gcc.gnu.org
Tue Jun 9 20:58:22 GMT 2020


https://gcc.gnu.org/g:6e52b2297ecce1243c00d76b3f079b71016b8ffa

commit 6e52b2297ecce1243c00d76b3f079b71016b8ffa
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Tue Jun 9 14:48:24 2020 -0400

    PowerPC: PowerPC tests: Add prefixed/pcrel tests.
    
    testsuite/
    2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
    
            * lib/target-supports.exp (check_effective_target_powerpc_pcrel):
            New.
            (check_effective_target_powerpc_prefixed_addr): New.

Diff:
---
 gcc/testsuite/lib/target-supports.exp | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index b335108358d..a595042b36e 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2163,6 +2163,25 @@ proc check_p9vector_hw_available { } {
     }]
 }
 
+# Return 1 if the PowerPC target generates PC-relative instructions
+# automatically for targets that support PC-relative instructions.
+proc check_effective_target_powerpc_pcrel { } {
+    return [check_no_messages_and_pattern powerpc_pcrel \
+	{\mpla\M} assembly {
+	    static unsigned short s;
+	    unsigned short *p_foo (void) { return &s; }
+	} {-O2 -mcpu=future}]
+}
+
+# Return 1 if the PowerPC target generates prefixed instructions automatically
+# for targets that support prefixed instructions.
+proc check_effective_target_powerpc_prefixed_addr { } {
+    return [check_no_messages_and_pattern powerpc_prefixed_addr \
+	{\mplwz\M} assembly {
+	    unsigned int foo (unsigned int *p) { return p[0x12345]; }
+	} {-O2 -mcpu=future}]
+}
+
 # Return 1 if the target supports executing power9 modulo instructions, 0
 # otherwise.  Cache the result.


More information about the Gcc-cvs mailing list