PowerPC: PowerPC tests: Add prefixed/pcrel tests.
authorMichael Meissner <meissner@linux.ibm.com>
Tue, 9 Jun 2020 18:48:24 +0000 (14:48 -0400)
committerMichael Meissner <meissner@linux.ibm.com>
Tue, 9 Jun 2020 18:48:24 +0000 (14:48 -0400)
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.

gcc/testsuite/lib/target-supports.exp

index b335108358d0c878193ce07771b69933f3ec4d26..a595042b36e583b39fd0dcfede20a97c93dbcff9 100644 (file)
@@ -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.