public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/vendors/ibm/heads/gcc-9)] IBM Z: Fix testsuite useable_hw check
@ 2020-02-04 20:53 Peter Bergner
0 siblings, 0 replies; only message in thread
From: Peter Bergner @ 2020-02-04 20:53 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:21deaf29442d58ce65a9e29c1cb21beaebdb4d61
commit 21deaf29442d58ce65a9e29c1cb21beaebdb4d61
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date: Tue Nov 5 15:25:26 2019 +0000
IBM Z: Fix testsuite useable_hw check
This fixes various issues with the useable_hw check in s390.exp. The
check is supposed to verify whether a testcase can be run on the
current hardware.
- the test never returned true for -m31 because vzero is not available
in ESA mode and -m31 defaults to -mesa
- the missing v0 clobber on the vzero instruction made the check fail
if the stack pointer got saved in f0
- the lcbb instruction used for checking whether we are on a z13
also requires vx. Replace it with an instruction from the generic
instruction set extensions.
- no support for z14 and z15 so far
gcc/testsuite/ChangeLog:
2019-11-05 Andreas Krebbel <krebbel@linux.ibm.com>
Backport from mainline
2019-11-05 Andreas Krebbel <krebbel@linux.ibm.com>
* gcc.target/s390/s390.exp
(check_effective_target_s390_useable_hw): Add inline asm for z14
and z15. Replace instruction for z13 with lochiz. Add register
clobbers. Check also for __zarch__ when doing the __VX__ test.
From-SVN: r277842
Diff:
---
gcc/testsuite/ChangeLog | 10 ++++++++++
gcc/testsuite/gcc.target/s390/s390.exp | 22 +++++++++++++---------
2 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 17f417e..dde8e96 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2019-11-05 Andreas Krebbel <krebbel@linux.ibm.com>
+
+ Backport from mainline
+ 2019-11-05 Andreas Krebbel <krebbel@linux.ibm.com>
+
+ * gcc.target/s390/s390.exp
+ (check_effective_target_s390_useable_hw): Add inline asm for z14
+ and z15. Replace instruction for z13 with lochiz. Add register
+ clobbers. Check also for __zarch__ when doing the __VX__ test.
+
2019-11-04 Iain Sandoe <iain@sandoe.co.uk>
Backport from mainline.
diff --git a/gcc/testsuite/gcc.target/s390/s390.exp b/gcc/testsuite/gcc.target/s390/s390.exp
index 86f7e43..ee94a80 100644
--- a/gcc/testsuite/gcc.target/s390/s390.exp
+++ b/gcc/testsuite/gcc.target/s390/s390.exp
@@ -86,18 +86,22 @@ proc check_effective_target_s390_useable_hw { } {
int main (void)
{
asm (".machinemode zarch" : : );
- #if __ARCH__ >= 11
- asm ("lcbb %%r2,0(%%r15),0" : : );
+ #if __ARCH__ >= 13
+ asm ("ncrk %%r2,%%r2,%%r2" : : : "r2");
+ #elif __ARCH__ >= 12
+ asm ("agh %%r2,0(%%r15)" : : : "r2");
+ #elif __ARCH__ >= 11
+ asm ("lochiz %%r2,42" : : : "r2");
#elif __ARCH__ >= 10
- asm ("risbgn %%r2,%%r2,0,0,0" : : );
+ asm ("risbgn %%r2,%%r2,0,0,0" : : : "r2");
#elif __ARCH__ >= 9
- asm ("sgrk %%r2,%%r2,%%r2" : : );
+ asm ("sgrk %%r2,%%r2,%%r2" : : : "r2");
#elif __ARCH__ >= 8
- asm ("rosbg %%r2,%%r2,0,0,0" : : );
+ asm ("rosbg %%r2,%%r2,0,0,0" : : : "r2");
#elif __ARCH__ >= 7
- asm ("nilf %%r2,0" : : );
+ asm ("nilf %%r2,0" : : : "r2");
#elif __ARCH__ >= 6
- asm ("lay %%r2,0(%%r15)" : : );
+ asm ("lay %%r2,0(%%r15)" : : : "r2");
#elif __ARCH__ >= 5
asm ("tam" : : );
#endif
@@ -107,8 +111,8 @@ proc check_effective_target_s390_useable_hw { } {
asm ("etnd %0" : "=d" (nd));
}
#endif
- #ifdef __VX__
- asm ("vzero %%v0" : : );
+ #if defined (__VX__) && defined (__zarch__)
+ asm ("vzero %%v0" : : : "v0");
#endif
return 0;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-02-04 20:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-04 20:53 [gcc(refs/vendors/ibm/heads/gcc-9)] IBM Z: Fix testsuite useable_hw check Peter Bergner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).