From 45b8704681346513265493e00e876fac298d62c4 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 2020-06-09 Michael Meissner gcc/testsuite/ * lib/target-supports.exp (check_effective_target_powerpc_pcrel): New. (check_effective_target_powerpc_prefixed_addr): New. (cherry picked from commit 6e52b2297ecce1243c00d76b3f079b71016b8ffa) --- 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 74249750b0a7..ce7908be0732 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2170,6 +2170,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=power10}] +} + +# 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=power10}] +} + # Return 1 if the target supports executing power9 modulo instructions, 0 # otherwise. Cache the result. -- 2.47.2