From: Aldy Hernandez Date: Wed, 28 Jun 2000 19:06:25 +0000 (+0000) Subject: 16 bit immediate expr support for mips X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2ae7e77be88be49df7fc287199d2a7a4046f9205;p=binutils-gdb.git 16 bit immediate expr support for mips --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 9c694b4e4a0..aa8f650b263 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2000-06-27 Aldy Hernandez + + * config/tc-mips.c (mips_ip): handle "(foo-.-4)" type of + expressions. Ignore the problem when handling 16 bit immediates, + because the assembler will take care of the relocation later. + 2000-06-27 Nick Clifton * config/tc-d30v.c (write_2_short): Do not allow opcodes with diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 1b5c9c8b4d2..a4d25bc3331 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -7746,10 +7746,8 @@ mips_ip (str, ip) if (insn + 1 < &mips_opcodes[NUMOPCODES] && !strcmp (insn->name, insn[1].name)) break; - if (imm_expr.X_op != O_constant - && imm_expr.X_op != O_big) - insn_error = _("absolute expression required"); - else + if (imm_expr.X_op == O_constant + || imm_expr.X_op == O_big) as_bad (_("16 bit expression not in range 0..65535")); } } @@ -7785,10 +7783,8 @@ mips_ip (str, ip) { if (more) break; - if (imm_expr.X_op != O_constant - && imm_expr.X_op != O_big) - insn_error = _("absolute expression required"); - else + if (imm_expr.X_op == O_constant + || imm_expr.X_op == O_big) as_bad (_("16 bit expression not in range -32768..32767")); } }