* mips.h: Assign 'm'/'M' codes to MIPS16e save/restore
instructions. Define MIPS16_ALL_ARGS and MIPS16_ALL_STATICS for save/restore encoding of the args field. * mips16-opc.c: Add MIPS16e save/restore opcodes. * mips-dis.c (print_mips16_insn_arg): Handle printing of 'm'/'M' codes for save/restore. * config/tc-mips.c (mips16_ip): Add handling of 'm' and 'M' codes for the MIPS16e save/restore instructions. * gas/mips/mips.exp: Run new save/restore tests. * gas/testsuite/gas/mips/mips16e-save.s: New test for generating different styles of save/restore instructions. * gas/testsuite/gas/mips/mips16e-save.d: New.
This commit is contained in:
parent
6ba3f6bb2d
commit
70c500b343
|
@ -1,3 +1,9 @@
|
||||||
|
2005-11-14 David Ung <davidu@mips.com>
|
||||||
|
|
||||||
|
* mips.h: Assign 'm'/'M' codes to MIPS16e save/restore
|
||||||
|
instructions. Define MIPS16_ALL_ARGS and MIPS16_ALL_STATICS for
|
||||||
|
save/restore encoding of the args field.
|
||||||
|
|
||||||
2005-10-28 Dave Brolley <brolley@redhat.com>
|
2005-10-28 Dave Brolley <brolley@redhat.com>
|
||||||
|
|
||||||
Contribute the following changes:
|
Contribute the following changes:
|
||||||
|
|
|
@ -928,8 +928,15 @@ extern int bfd_mips_num_opcodes;
|
||||||
"A" 8 bit PC relative address * 4 (MIPS16OP_*_IMM8)
|
"A" 8 bit PC relative address * 4 (MIPS16OP_*_IMM8)
|
||||||
"B" 5 bit PC relative address * 8 (MIPS16OP_*_IMM5)
|
"B" 5 bit PC relative address * 8 (MIPS16OP_*_IMM5)
|
||||||
"E" 5 bit PC relative address * 4 (MIPS16OP_*_IMM5)
|
"E" 5 bit PC relative address * 4 (MIPS16OP_*_IMM5)
|
||||||
|
"m" 7 bit register list for save instruction (18 bit extended)
|
||||||
|
"M" 7 bit register list for restore instruction (18 bit extended)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Save/restore encoding for the args field when all 4 registers are
|
||||||
|
either saved as arguments or saved/restored as statics. */
|
||||||
|
#define MIPS16_ALL_ARGS 0xe
|
||||||
|
#define MIPS16_ALL_STATICS 0xb
|
||||||
|
|
||||||
/* For the mips16, we use the same opcode table format and a few of
|
/* For the mips16, we use the same opcode table format and a few of
|
||||||
the same flags. However, most of the flags are different. */
|
the same flags. However, most of the flags are different. */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue