[Patch] [MIPS] Change opcode membership of the jalx instruction
Sun May 23 21:54:00 GMT 2010
Catherine Moore <email@example.com> writes:
> This patch changes the opcode membership of the jalx instruction from
> I16 to I1. As a result, the use of I16 becomes obsolete along with
> the definitions and uses of INSN_MIPS16. A new testcase is added and
> an inappropriate testcase is deleted.
Hmm, this is one of those things that someone obviously did deliberately,
but the reasons why are probably lost in the mists of time. I agree the
current behaviour makes little sense. Something like:
ought to work.
> * config/tc-mips.c (is_opcode_valid): Remove expansionp.
> (macro_build): Don't pass expansionp to is_opcode_valid.
> (mips_ip): Likewise.
> * gas/mips/mips-jalx-2.s: New test.
> * gas/mips/mips-jalx-2.d: New test output.
> * gas/mips/mips-no-jalx.l: Delete.
> * gas/mips/mips-no-jalx.s: Delete.
> * gas/mips/mips.exp: Add mips-jalx-2. Delete mips-no-jalx.
> * mips.h (INSN_MIPS16): Remove.
> * mips-dis.c (mips_arch_choices): Remove INSN_MIPS16 for
> CPU_MIPS32, CPU_MIPS32R2, CPU_MIPS64 and CPU_MIPS64R2.
> * mips-opc.c (I16): Remove definition.
> (mips_builtin_op): Change membership of jalx insn.
OK if no-one objects in 48 hours.
> -/* MIPS 16 ASE */
> -#define INSN_MIPS16 0x00004000
Maybe leave a comment saying that 0x4000 is unused?
More information about the Binutils