This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[s390] Require a register pair for FLOGR
- From: Richard Sandiford <rsandifo at linux dot vnet dot ibm dot com>
- To: binutils at sourceware dot org
- Cc: Andreas dot Krebbel at de dot ibm dot com
- Date: Fri, 24 May 2013 16:50:25 +0100
- Subject: [s390] Require a register pair for FLOGR
Unlike DLR etc., FLOGR wasn't enforcing a register pair destination.
Tested on s390x-linux-gnu. OK to install?
Thanks,
Richard
opcodes/
* s390-opc.txt (flogr): Require a register pair destination.
gas/testsuite/
* gas/s390/zarch-z9-109-err.s, gas/s390/zarch-z9-109-err.l: New test.
* gas/s390/s390.exp: Run it.
Index: opcodes/s390-opc.txt
===================================================================
--- opcodes/s390-opc.txt 2013-05-09 10:22:34.000000000 +0100
+++ opcodes/s390-opc.txt 2013-05-24 16:38:36.473725700 +0100
@@ -736,7 +736,7 @@ c007 xilf RIL_RU "exclusive or immediate
c008 iihf RIL_RU "insert immediate high" z9-109 zarch
c009 iilf RIL_RU "insert immediate low" z9-109 zarch
# z9-109 misc instruction
-b983 flogr RRE_RR "find leftmost one" z9-109 zarch
+b983 flogr RRE_RER "find leftmost one" z9-109 zarch
e30000000012 lt RXY_RRRD "load and test 32" z9-109 zarch
e30000000002 ltg RXY_RRRD "load and test 64" z9-109 zarch
b926 lbr RRE_RR "load byte 32" z9-109 zarch
Index: gas/testsuite/gas/s390/zarch-z9-109-err.s
===================================================================
--- /dev/null 2013-05-24 08:42:58.330594661 +0100
+++ gas/testsuite/gas/s390/zarch-z9-109-err.s 2013-05-24 16:40:26.038996256 +0100
@@ -0,0 +1,3 @@
+.text
+foo:
+ flogr %r7,%r8
Index: gas/testsuite/gas/s390/zarch-z9-109-err.l
===================================================================
--- /dev/null 2013-05-24 08:42:58.330594661 +0100
+++ gas/testsuite/gas/s390/zarch-z9-109-err.l 2013-05-24 16:45:24.286004219 +0100
@@ -0,0 +1,2 @@
+.*: Assembler messages:
+.*:3: Fatal error: odd numbered general purpose register specified as register pair
Index: gas/testsuite/gas/s390/s390.exp
===================================================================
--- gas/testsuite/gas/s390/s390.exp 2013-05-09 10:24:22.000000000 +0100
+++ gas/testsuite/gas/s390/s390.exp 2013-05-24 16:43:07.667920305 +0100
@@ -22,6 +22,7 @@ if [expr [istarget "s390-*-*"] || [ista
run_dump_test "zarch-z900" "{as -m64}"
run_dump_test "zarch-z990" "{as -m64} {as -march=z990}"
run_dump_test "zarch-z9-109" "{as -m64} {as -march=z9-109}"
+ run_list_test "zarch-z9-109-err" "-march=z9-109"
run_dump_test "zarch-z9-ec" "{as -m64} {as -march=z9-ec}"
run_dump_test "zarch-z10" "{as -m64} {as -march=z10}"
run_dump_test "zarch-z196" "{as -m64} {as -march=z196}"