aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-s390.c
diff options
context:
space:
mode:
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>2011-05-24 13:33:57 +0000
committerAndreas Krebbel <Andreas.Krebbel@de.ibm.com>2011-05-24 13:33:57 +0000
commit5e4b319cdce89a35764b749bf7ea33e7dfbddf0e (patch)
treef2f898952f975ad8ff1e78ab180c9a01e95017a3 /gas/config/tc-s390.c
parent3017a003674a2cf413b3522a5875ce26fcd574c2 (diff)
downloadfsf-binutils-gdb-5e4b319cdce89a35764b749bf7ea33e7dfbddf0e.zip
fsf-binutils-gdb-5e4b319cdce89a35764b749bf7ea33e7dfbddf0e.tar.gz
fsf-binutils-gdb-5e4b319cdce89a35764b749bf7ea33e7dfbddf0e.tar.bz2
2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/tc-s390.c (md_gather_operands): Emit an error for odd numbered registers used as register pair operand. 2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * opcode/s390.h: Add S390_OPCODE_REG_EVEN flag. 2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * s390-opc.c: Add new instruction types marking register pair operands. * s390-opc.txt: Match instructions having register pair operands to the new instruction types. 2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * gas/s390/esa-g5.d: Fix register pair operands. * gas/s390/esa-g5.s: Likewise. * gas/s390/esa-z9-109.d: Likewise. * gas/s390/esa-z9-109.s: Likewise. * gas/s390/zarch-z196.d: Likewise. * gas/s390/zarch-z196.s: Likewise. * gas/s390/zarch-z9-109.d: Likewise. * gas/s390/zarch-z9-109.s: Likewise. * gas/s390/zarch-z900.d: Likewise. * gas/s390/zarch-z900.s: Likewise. * gas/s390/zarch-z990.d: Likewise. * gas/s390/zarch-z990.s: Likewise.
Diffstat (limited to 'gas/config/tc-s390.c')
-rw-r--r--gas/config/tc-s390.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 8fc66d8..36d5974 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -1267,6 +1267,9 @@ md_gather_operands (char *str,
&& ex.X_add_number == 0
&& warn_areg_zero)
as_warn (_("base register specified but zero"));
+ if ((operand->flags & S390_OPERAND_REG_EVEN)
+ && (ex.X_add_number & 1))
+ as_fatal (_("odd numbered register specified as register pair"));
s390_insert_operand (insn, operand, ex.X_add_number, NULL, 0);
}
}