From 6e52b2297ecce1243c00d76b3f079b71016b8ffa Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Tue, 9 Jun 2020 14:48:24 -0400 Subject: [PATCH] PowerPC: PowerPC tests: Add prefixed/pcrel tests. testsuite/ 2020-06-09 Michael Meissner * lib/target-supports.exp (check_effective_target_powerpc_pcrel): New. (check_effective_target_powerpc_prefixed_addr): New. --- 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.