16 bit immediate expr support for mips

This commit is contained in:
Aldy Hernandez 2000-06-28 19:06:25 +00:00
parent addd3117d7
commit 2ae7e77be8
2 changed files with 10 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2000-06-27 Aldy Hernandez <aldyh@redhat.com>
* 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 <nickc@cygnus.com> 2000-06-27 Nick Clifton <nickc@cygnus.com>
* config/tc-d30v.c (write_2_short): Do not allow opcodes with * config/tc-d30v.c (write_2_short): Do not allow opcodes with

View File

@ -7746,10 +7746,8 @@ mips_ip (str, ip)
if (insn + 1 < &mips_opcodes[NUMOPCODES] && if (insn + 1 < &mips_opcodes[NUMOPCODES] &&
!strcmp (insn->name, insn[1].name)) !strcmp (insn->name, insn[1].name))
break; break;
if (imm_expr.X_op != O_constant if (imm_expr.X_op == O_constant
&& imm_expr.X_op != O_big) || imm_expr.X_op == O_big)
insn_error = _("absolute expression required");
else
as_bad (_("16 bit expression not in range 0..65535")); as_bad (_("16 bit expression not in range 0..65535"));
} }
} }
@ -7785,10 +7783,8 @@ mips_ip (str, ip)
{ {
if (more) if (more)
break; break;
if (imm_expr.X_op != O_constant if (imm_expr.X_op == O_constant
&& imm_expr.X_op != O_big) || imm_expr.X_op == O_big)
insn_error = _("absolute expression required");
else
as_bad (_("16 bit expression not in range -32768..32767")); as_bad (_("16 bit expression not in range -32768..32767"));
} }
} }