This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Specify architecture for SPARC gas tests
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: binutils at sourceware dot org
- Cc: Jose E. Marchesi <jose dot marchesi at oracle dot com>
- Date: Sat, 10 Feb 2018 17:02:29 +0100
- Subject: Specify architecture for SPARC gas tests
- Authentication-results: sourceware.org; auth=none
A couple of SPARC gas tests FAIL on Solaris/SPARC (both
sparc-sun-solaris2.11 and sparcv9-sun-solaris2.11):
FAIL: sparc PAUSE
FAIL: sparc CBCOND
FAIL: sparc CFR
FAIL: sparc CRYPTO
FAIL: sparc HPC+VIS3
FAIL: sparc IMA
FAIL: sparc OSA2015 %mwait asr and MWAIT instruction
FAIL: sparc OSA2015 %mcdper asr
FAIL: sparc SPARC5 and VIS4.0
FAIL: OSA2015 crypto instructions
FAIL: SPARC6
FAIL: FPCMPSHL OSA2017 instructions
FAIL: OSA2017 ONADD/ONSUB/ONMUL/ONDIV instructions.
FAIL: OSA2017 RLE instructions
FAIL: sparc64 rdasr
FAIL: sparc64 rdpr
FAIL: sparc64 rdhpr
FAIL: sparc64 wrasr
FAIL: sparc64 wrpr
It turns out there's a common pattern here: failures happen for all
tests that use SPARC ISA extensions beyond sparcv9, e.g. for the sparc
PAUSE test:
regexp_diff match failure
regexp "^ 0: b7 80 40 02 wr %g1, %g2, %pause$"
line " 0: b7 80 40 02 wr %g1, %g2, %asr27"
[...]
regexp_diff match failure
regexp "^ 8: b7 80 20 08 pause 8$"
line " 8: b7 80 20 08 wr 8, %asr27"
[...]
The fix is easy, actually: just as the tests specify the ISA extension
to use as a gas flag, the same needs to be done for objdump. For the
test above, which has -Av9v, this means passing -msparc:v9v to objdump.
Doing so makes all but two (unrelated; to be reported separately)
failures go away.
Tested on both sparc-sun-solaris2.11 and sparcv9-sun-solaris2.11.
Ok for master?
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2018-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* testsuite/gas/sparc/cbcond.d: Add -msparc:v9v to objdump options.
* testsuite/gas/sparc/cfr.d: Likewise.
* testsuite/gas/sparc/crypto.d: Likewise.
* testsuite/gas/sparc/hpcvis3.d: Likewise.
* testsuite/gas/sparc/ima.d: Likewise.
* testsuite/gas/sparc/pause.d: Likewise.
* testsuite/gas/sparc/edge.d: Add -msparc:v9d to objdump options.
* testsuite/gas/sparc/fpcmpshl.d: Add -msparc:v9m8 to objdump options.
* testsuite/gas/sparc/ldm-stm.d: Likewise.
* testsuite/gas/sparc/ldmf-stmf.d: Likewise.
* testsuite/gas/sparc/on.d: Likewise.
* testsuite/gas/sparc/rdasr.d: Likewise.
* testsuite/gas/sparc/rle.d: Likewise.
* testsuite/gas/sparc/ldtxa.d: Add -msparc:v9c to objdump options.
* testsuite/gas/sparc/mcdper.d: Add -msparc:v9m to objdump options.
* testsuite/gas/sparc/mwait.d: Likewise.
* testsuite/gas/sparc/rdhpr.d: Likewise.
* testsuite/gas/sparc/rdpr.d: Likewise.
* testsuite/gas/sparc/sparc5vis4.d: Likewise.
* testsuite/gas/sparc/sparc6.d: Likewise.
* testsuite/gas/sparc/wrasr.d: Likewise.
* testsuite/gas/sparc/wrhpr.d: Likewise.
* testsuite/gas/sparc/wrpr.d: Likewise.
* testsuite/gas/sparc/xcrypto.d: Likewise.
# HG changeset patch
# Parent bde067ae3ad90becdca69694e1996283f9b7912a
Specify architecture for SPARC gas tests
diff --git a/gas/testsuite/gas/sparc/cbcond.d b/gas/testsuite/gas/sparc/cbcond.d
--- a/gas/testsuite/gas/sparc/cbcond.d
+++ b/gas/testsuite/gas/sparc/cbcond.d
@@ -1,5 +1,5 @@
#as: -Av9v
-#objdump: -dr
+#objdump: -msparc:v9v -dr
#name: sparc CBCOND
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/cfr.d b/gas/testsuite/gas/sparc/cfr.d
--- a/gas/testsuite/gas/sparc/cfr.d
+++ b/gas/testsuite/gas/sparc/cfr.d
@@ -1,5 +1,5 @@
#as: -Av9v
-#objdump: -dr
+#objdump: -msparc:v9v -dr
#name: sparc CFR
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/crypto.d b/gas/testsuite/gas/sparc/crypto.d
--- a/gas/testsuite/gas/sparc/crypto.d
+++ b/gas/testsuite/gas/sparc/crypto.d
@@ -1,5 +1,5 @@
#as: -Av9v
-#objdump: -dr
+#objdump: -msparc:v9v -dr
#name: sparc CRYPTO
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/edge.d b/gas/testsuite/gas/sparc/edge.d
--- a/gas/testsuite/gas/sparc/edge.d
+++ b/gas/testsuite/gas/sparc/edge.d
@@ -1,5 +1,5 @@
#as: -Av9d
-#objdump: -dr
+#objdump: -msparc:v9d -dr
#name: sparc EDGE
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/fpcmpshl.d b/gas/testsuite/gas/sparc/fpcmpshl.d
--- a/gas/testsuite/gas/sparc/fpcmpshl.d
+++ b/gas/testsuite/gas/sparc/fpcmpshl.d
@@ -1,5 +1,5 @@
#as: -Av9m8
-#objdump: -dr
+#objdump: -msparc:v9m8 -dr
#name: FPCMPSHL OSA2017 instructions
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/hpcvis3.d b/gas/testsuite/gas/sparc/hpcvis3.d
--- a/gas/testsuite/gas/sparc/hpcvis3.d
+++ b/gas/testsuite/gas/sparc/hpcvis3.d
@@ -1,5 +1,5 @@
#as: -Av9v
-#objdump: -dr
+#objdump: -msparc:v9v -dr
#name: sparc HPC+VIS3
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/ima.d b/gas/testsuite/gas/sparc/ima.d
--- a/gas/testsuite/gas/sparc/ima.d
+++ b/gas/testsuite/gas/sparc/ima.d
@@ -1,5 +1,5 @@
#as: -Av9v
-#objdump: -dr
+#objdump: -msparc:v9v -dr
#name: sparc IMA
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/ldm-stm.d b/gas/testsuite/gas/sparc/ldm-stm.d
--- a/gas/testsuite/gas/sparc/ldm-stm.d
+++ b/gas/testsuite/gas/sparc/ldm-stm.d
@@ -1,5 +1,5 @@
#as: -Av9m8
-#objdump: -dr
+#objdump: -msparc:v9m8 -dr
#name: sparc LDM/STM/LDMA/STMA
.*: +file format .*
diff --git a/gas/testsuite/gas/sparc/ldmf-stmf.d b/gas/testsuite/gas/sparc/ldmf-stmf.d
--- a/gas/testsuite/gas/sparc/ldmf-stmf.d
+++ b/gas/testsuite/gas/sparc/ldmf-stmf.d
@@ -1,5 +1,5 @@
#as: -Av9m8
-#objdump: -dr
+#objdump: -msparc:v9m8 -dr
#name: sparc LDMF/STMF/LDMFA/STMFA
.*: +file format .*
diff --git a/gas/testsuite/gas/sparc/ldtxa.d b/gas/testsuite/gas/sparc/ldtxa.d
--- a/gas/testsuite/gas/sparc/ldtxa.d
+++ b/gas/testsuite/gas/sparc/ldtxa.d
@@ -1,5 +1,5 @@
#as: -Av9c
-#objdump: -dr
+#objdump: -msparc:v9c -dr
#name: sparc LDTXA
.*: +file format .*sparc.*
@@ -30,4 +30,4 @@ 0+ <.text>:
50: d4 98 dd 40 ldtxa \[ %g3 \] #ASI_TWINX_PL, %o2
54: d4 98 dd 42 ldtxa \[ %g3 \+ %g2 \] #ASI_TWINX_PL, %o2
58: d4 98 dd 60 ldtxa \[ %g3 \] #ASI_TWINX_SL, %o2
- 5c: d4 98 dd 62 ldtxa \[ %g3 \+ %g2 \] #ASI_TWINX_SL, %o2
\ No newline at end of file
+ 5c: d4 98 dd 62 ldtxa \[ %g3 \+ %g2 \] #ASI_TWINX_SL, %o2
diff --git a/gas/testsuite/gas/sparc/mcdper.d b/gas/testsuite/gas/sparc/mcdper.d
--- a/gas/testsuite/gas/sparc/mcdper.d
+++ b/gas/testsuite/gas/sparc/mcdper.d
@@ -1,5 +1,5 @@
#as: -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: sparc OSA2015 %mcdper asr
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/mwait.d b/gas/testsuite/gas/sparc/mwait.d
--- a/gas/testsuite/gas/sparc/mwait.d
+++ b/gas/testsuite/gas/sparc/mwait.d
@@ -1,5 +1,5 @@
#as: -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: sparc OSA2015 %mwait asr and MWAIT instruction
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/on.d b/gas/testsuite/gas/sparc/on.d
--- a/gas/testsuite/gas/sparc/on.d
+++ b/gas/testsuite/gas/sparc/on.d
@@ -1,5 +1,5 @@
#as: -Av9m8
-#objdump: -dr
+#objdump: -msparc:v9m8 -dr
#name: OSA2017 ONADD/ONSUB/ONMUL/ONDIV instructions.
.*: +file format .*
diff --git a/gas/testsuite/gas/sparc/pause.d b/gas/testsuite/gas/sparc/pause.d
--- a/gas/testsuite/gas/sparc/pause.d
+++ b/gas/testsuite/gas/sparc/pause.d
@@ -1,5 +1,5 @@
#as: -Av9v
-#objdump: -dr
+#objdump: -msparc:v9v -dr
#name: sparc PAUSE
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/rdasr.d b/gas/testsuite/gas/sparc/rdasr.d
--- a/gas/testsuite/gas/sparc/rdasr.d
+++ b/gas/testsuite/gas/sparc/rdasr.d
@@ -1,5 +1,5 @@
#as: -64 -Av9m8
-#objdump: -dr
+#objdump: -msparc:v9m8 -dr
#name: sparc64 rdasr
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/rdhpr.d b/gas/testsuite/gas/sparc/rdhpr.d
--- a/gas/testsuite/gas/sparc/rdhpr.d
+++ b/gas/testsuite/gas/sparc/rdhpr.d
@@ -1,5 +1,5 @@
#as: -64 -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: sparc64 rdhpr
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/rdpr.d b/gas/testsuite/gas/sparc/rdpr.d
--- a/gas/testsuite/gas/sparc/rdpr.d
+++ b/gas/testsuite/gas/sparc/rdpr.d
@@ -1,5 +1,5 @@
#as: -64 -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: sparc64 rdpr
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/rle.d b/gas/testsuite/gas/sparc/rle.d
--- a/gas/testsuite/gas/sparc/rle.d
+++ b/gas/testsuite/gas/sparc/rle.d
@@ -1,5 +1,5 @@
#as: -Av9m8
-#objdump: -dr
+#objdump: -msparc:v9m8 -dr
#name: OSA2017 RLE instructions
diff --git a/gas/testsuite/gas/sparc/sparc5vis4.d b/gas/testsuite/gas/sparc/sparc5vis4.d
--- a/gas/testsuite/gas/sparc/sparc5vis4.d
+++ b/gas/testsuite/gas/sparc/sparc5vis4.d
@@ -1,5 +1,5 @@
#as: -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: sparc SPARC5 and VIS4.0
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/sparc6.d b/gas/testsuite/gas/sparc/sparc6.d
--- a/gas/testsuite/gas/sparc/sparc6.d
+++ b/gas/testsuite/gas/sparc/sparc6.d
@@ -1,5 +1,5 @@
#as: -Av9m8
-#objdump: -dr
+#objdump: -msparc:v9m8 -dr
#name: SPARC6
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/wrasr.d b/gas/testsuite/gas/sparc/wrasr.d
--- a/gas/testsuite/gas/sparc/wrasr.d
+++ b/gas/testsuite/gas/sparc/wrasr.d
@@ -1,5 +1,5 @@
#as: -64 -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: sparc64 wrasr
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/wrhpr.d b/gas/testsuite/gas/sparc/wrhpr.d
--- a/gas/testsuite/gas/sparc/wrhpr.d
+++ b/gas/testsuite/gas/sparc/wrhpr.d
@@ -1,5 +1,5 @@
#as: -64 -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: sparc64 wrhpr
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/wrpr.d b/gas/testsuite/gas/sparc/wrpr.d
--- a/gas/testsuite/gas/sparc/wrpr.d
+++ b/gas/testsuite/gas/sparc/wrpr.d
@@ -1,5 +1,5 @@
#as: -64 -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: sparc64 wrpr
.*: +file format .*sparc.*
diff --git a/gas/testsuite/gas/sparc/xcrypto.d b/gas/testsuite/gas/sparc/xcrypto.d
--- a/gas/testsuite/gas/sparc/xcrypto.d
+++ b/gas/testsuite/gas/sparc/xcrypto.d
@@ -1,5 +1,5 @@
#as: -Av9m
-#objdump: -dr
+#objdump: -msparc:v9m -dr
#name: OSA2015 crypto instructions
.*: +file format .*sparc.*