Commit 8cb67fae by Segher Boessenkool

rs6000: Testsuite changes to go with the previous commit

	== The actual changelog had
	==	Backport from trunk
	==	2020-06-22  Segher Boessenkool  <segher@kernel.crashing.org>
	== but the commit scripts refuse that

2020-06-30  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/testsuite/ChangeLog:
	* gcc.target/powerpc/cpu-future.c: Something was done here.
	* gcc.target/powerpc/localentry-1.c: Something was done here.
	* gcc.target/powerpc/localentry-detect-1.c: Something was done here.
	* gcc.target/powerpc/mma-builtin-1.c: Something was done here.
	* gcc.target/powerpc/mma-builtin-2.c: Something was done here.
	* gcc.target/powerpc/mma-builtin-3.c: Something was done here.
	* gcc.target/powerpc/mma-builtin-4.c: Something was done here.
	* gcc.target/powerpc/mma-builtin-5.c: Something was done here.
	* gcc.target/powerpc/mma-builtin-6.c: Something was done here.
	* gcc.target/powerpc/notoc-direct-1.c: Something was done here.
	* gcc.target/powerpc/pcrel-sibcall-1.c: Something was done here.
	* gcc.target/powerpc/pr93122.c: Something was done here.
	* lib/target-supports.exp: Stuff.
parent 9913aa6f
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-options "-mdejagnu-cpu=future -O2" } */ /* { dg-options "-mdejagnu-cpu=power10 -O2" } */
/* Ensure -mcpu=future compiles cleanly. */ /* Ensure -mcpu=power10 compiles cleanly. */
void x (void) { } void x (void) { }
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-mdejagnu-cpu=future -O2 -mpcrel" } */ /* { dg-options "-mdejagnu-cpu=power10 -O2 -mpcrel" } */
/* { dg-require-effective-target powerpc_elfv2 } */ /* { dg-require-effective-target powerpc_elfv2 } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* Ensure we generate ".localentry fn,1" for both leaf and non-leaf functions. /* Ensure we generate ".localentry fn,1" for both leaf and non-leaf functions.
At present, -mcpu=future does not enable pc-relative mode, so make sure we At present, -mcpu=power10 does not enable pc-relative mode, so make sure we
enable it to be able to check for .localentry. */ enable it to be able to check for .localentry. */
extern int y (int); extern int y (int);
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-require-effective-target powerpc_elfv2 } */ /* { dg-require-effective-target powerpc_elfv2 } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-options "-O2 -mdejagnu-cpu=future" } */ /* { dg-options "-O2 -mdejagnu-cpu=power10" } */
/* At present, -mcpu=future does not enable pc-relative mode. Enable it here /* At present, -mcpu=power10 does not enable pc-relative mode. Enable it here
explicitly until it is turned on by default. */ explicitly until it is turned on by default. */
#pragma GCC target ("cpu=future,pcrel") #pragma GCC target ("cpu=power10,pcrel")
int localentry1 () { return 5; } int localentry1 () { return 5; }
#pragma GCC target ("cpu=power9,no-pcrel") #pragma GCC target ("cpu=power9,no-pcrel")
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ /* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */
typedef unsigned char vec_t __attribute__((vector_size(16))); typedef unsigned char vec_t __attribute__((vector_size(16)));
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ /* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */
typedef unsigned char vec_t __attribute__((vector_size(16))); typedef unsigned char vec_t __attribute__((vector_size(16)));
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ /* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */
void void
foo0 (void) foo0 (void)
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ /* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */
typedef unsigned char vec_t __attribute__((vector_size(16))); typedef unsigned char vec_t __attribute__((vector_size(16)));
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ /* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */
typedef unsigned char vec_t __attribute__((vector_size(16))); typedef unsigned char vec_t __attribute__((vector_size(16)));
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ /* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */
void void
foo (__vector_quad *dst) foo (__vector_quad *dst)
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-mdejagnu-cpu=future -O2 -mpcrel" } */ /* { dg-options "-mdejagnu-cpu=power10 -O2 -mpcrel" } */
/* { dg-require-effective-target powerpc_elfv2 } */ /* { dg-require-effective-target powerpc_elfv2 } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* Test that calls generated from PC-relative code are annotated with @notoc. /* Test that calls generated from PC-relative code are annotated with @notoc.
At present, -mcpu=future does not enable pc-relative mode. Enable it here At present, -mcpu=power10 does not enable pc-relative mode. Enable it here
explicitly until it is turned on by default. */ explicitly until it is turned on by default. */
extern int yy0 (int); extern int yy0 (int);
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-mdejagnu-cpu=future -O2" } */ /* { dg-options "-mdejagnu-cpu=power10 -O2" } */
/* { dg-require-effective-target powerpc_elfv2 } */ /* { dg-require-effective-target powerpc_elfv2 } */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* Test that potential sibcalls are not generated when the caller preserves the /* Test that potential sibcalls are not generated when the caller preserves the
TOC and the callee doesn't, or vice versa. At present, -mcpu=future does TOC and the callee doesn't, or vice versa. At present, -mcpu=power10 does
not enable pc-relative mode. Enable it here explicitly until it is turned not enable pc-relative mode. Enable it here explicitly until it is turned
on by default. */ on by default. */
#pragma GCC target ("cpu=future,pcrel") #pragma GCC target ("cpu=power10,pcrel")
int x (void) __attribute__((noinline)); int x (void) __attribute__((noinline));
int y (void) __attribute__((noinline)); int y (void) __attribute__((noinline));
int xx (void) __attribute__((noinline)); int xx (void) __attribute__((noinline));
...@@ -39,7 +39,7 @@ int xx (void) ...@@ -39,7 +39,7 @@ int xx (void)
return 1; return 1;
} }
#pragma GCC target ("cpu=future,pcrel") #pragma GCC target ("cpu=power10,pcrel")
int notoc_call (void) int notoc_call (void)
{ {
return xx (); return xx ();
......
/* PR target/93122 */ /* PR target/93122 */
/* { dg-require-effective-target powerpc_future_ok } */ /* { dg-require-effective-target power10_ok } */
/* { dg-do compile { target lp64 } } */ /* { dg-do compile { target lp64 } } */
/* { dg-options "-fstack-clash-protection -mprefixed -mfuture" } */ /* { dg-options "-fstack-clash-protection -mprefixed -mcpu=power10" } */
void bar (char *); void bar (char *);
......
...@@ -2196,13 +2196,13 @@ proc check_p9modulo_hw_available { } { ...@@ -2196,13 +2196,13 @@ proc check_p9modulo_hw_available { } {
} }
# Return 1 if the target supports executing FUTURE instructions, 0 otherwise. # Return 1 if the target supports executing power10 instructions, 0 otherwise.
# Cache the result. It is assumed that if a simulator does not support the # Cache the result. It is assumed that if a simulator does not support the
# FUTURE instructions, that it will generate an error and this test will fail. # power10 instructions, that it will generate an error and this test will fail.
proc check_powerpc_future_hw_available { } { proc check_power10_hw_available { } {
return [check_cached_effective_target powerpc_future_hw_available { return [check_cached_effective_target power10_hw_available {
check_runtime_nocache powerpc_future_hw_available { check_runtime_nocache power10_hw_available {
int main() int main()
{ {
/* Set e first and use +r to check if pli actually works. */ /* Set e first and use +r to check if pli actually works. */
...@@ -2210,7 +2210,7 @@ proc check_powerpc_future_hw_available { } { ...@@ -2210,7 +2210,7 @@ proc check_powerpc_future_hw_available { } {
asm ("pli %0,%1" : "+r" (e) : "n" (0x12345)); asm ("pli %0,%1" : "+r" (e) : "n" (0x12345));
return (e == 0x12345); return (e == 0x12345);
} }
} "-mfuture" } "-mcpu=power10"
}] }]
} }
...@@ -2652,7 +2652,7 @@ proc check_effective_target_p8 { } { ...@@ -2652,7 +2652,7 @@ proc check_effective_target_p8 { } {
} ""] } ""]
} }
# Return 1 if we're generating code for power9 and future platforms. # Return 1 if we're generating code for power9 or later platforms.
proc check_effective_target_p9+ { } { proc check_effective_target_p9+ { } {
return [check_no_compiler_messages_nocache p9+ assembly { return [check_no_compiler_messages_nocache p9+ assembly {
...@@ -5810,19 +5810,19 @@ proc check_effective_target_has_arch_pwr9 { } { ...@@ -5810,19 +5810,19 @@ proc check_effective_target_has_arch_pwr9 { } {
}] }]
} }
# Return 1 if this is a PowerPC target supporting -mfuture. # Return 1 if this is a PowerPC target supporting -mcpu=power10.
# Limit this to 64-bit linux systems for now until other # Limit this to 64-bit linux systems for now until other targets support
# targets support FUTURE. # power10.
proc check_effective_target_powerpc_future_ok { } { proc check_effective_target_power10_ok { } {
if { ([istarget powerpc64*-*-linux*]) } { if { ([istarget powerpc64*-*-linux*]) } {
return [check_no_compiler_messages powerpc_future_ok object { return [check_no_compiler_messages power10_ok object {
int main (void) { int main (void) {
long e; long e;
asm ("pli %0,%1" : "=r" (e) : "n" (0x12345)); asm ("pli %0,%1" : "=r" (e) : "n" (0x12345));
return e; return e;
} }
} "-mfuture"] } "-mcpu=power10"]
} else { } else {
return 0 return 0
} }
...@@ -7769,6 +7769,7 @@ proc is-effective-target { arg } { ...@@ -7769,6 +7769,7 @@ proc is-effective-target { arg } {
"named_sections" { set selected [check_named_sections_available] } "named_sections" { set selected [check_named_sections_available] }
"gc_sections" { set selected [check_gc_sections_available] } "gc_sections" { set selected [check_gc_sections_available] }
"cxa_atexit" { set selected [check_cxa_atexit_available] } "cxa_atexit" { set selected [check_cxa_atexit_available] }
"power10_hw" { set selected [check_power10_hw_available] }
default { error "unknown effective target keyword `$arg'" } default { error "unknown effective target keyword `$arg'" }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment