From: Michael Meissner Date: Tue, 9 Jun 2020 18:48:24 +0000 (-0400) Subject: PowerPC: PowerPC tests: Add prefixed/pcrel tests X-Git-Tag: releases/gcc-10.2.0~101 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45b8704681346513265493e00e876fac298d62c4;p=thirdparty%2Fgcc.git 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) --- 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.