diff options
author | Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | 2011-05-24 16:13:31 +0000 |
---|---|---|
committer | Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | 2011-05-24 16:13:31 +0000 |
commit | c8fa16ed5ab3fe171ad9d5f5e4bad585ce639c27 (patch) | |
tree | 8c2cfbc316f82a3ec295374d87b63e997fe8d9dc /gas/config | |
parent | cdac0397bf4a5390c5fd087edb0bb07ce4b423ef (diff) | |
download | fsf-binutils-gdb-c8fa16ed5ab3fe171ad9d5f5e4bad585ce639c27.zip fsf-binutils-gdb-c8fa16ed5ab3fe171ad9d5f5e4bad585ce639c27.tar.gz fsf-binutils-gdb-c8fa16ed5ab3fe171ad9d5f5e4bad585ce639c27.tar.bz2 |
2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/tc-s390.c (md_gather_operands): Fix check for floating
register pair operands.
2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* opcode/s390.h: Replace S390_OPERAND_REG_EVEN with
S390_OPERAND_REG_PAIR.
2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* s390-opc.c: Replace S390_OPERAND_REG_EVEN with
S390_OPERAND_REG_PAIR. Fix INSTR_RRF_0UFEF instruction type.
* s390-opc.txt: Fix cxr instruction type.
2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gas/s390/esa-g5.d: Fix fp register pair operands.
* gas/s390/esa-g5.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-z9-ec.d: Likewise.
* gas/s390/zarch-z9-ec.s: Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-s390.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index 36d5974..180a67f 100644 --- a/gas/config/tc-s390.c +++ b/gas/config/tc-s390.c @@ -1267,9 +1267,20 @@ 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) + if ((operand->flags & S390_OPERAND_GPR) + && (operand->flags & S390_OPERAND_REG_PAIR) && (ex.X_add_number & 1)) - as_fatal (_("odd numbered register specified as register pair")); + as_fatal (_("odd numbered general purpose register specified as " + "register pair")); + if ((operand->flags & S390_OPERAND_FPR) + && (operand->flags & S390_OPERAND_REG_PAIR) + && ex.X_add_number != 0 && ex.X_add_number != 1 + && ex.X_add_number != 4 && ex.X_add_number != 5 + && ex.X_add_number != 8 && ex.X_add_number != 9 + && ex.X_add_number != 12 && ex.X_add_number != 13) + as_fatal (_("invalid floating point register pair. Valid fp " + "register pair operands are 0, 1, 4, 5, 8, 9, " + "12 or 13.")); s390_insert_operand (insn, operand, ex.X_add_number, NULL, 0); } } |