[mips patch RFA] fix mips INSN_ISA*.
cgd@broadcom.com
cgd@broadcom.com
Fri Jan 3 01:44:00 GMT 2003
More information about the Binutils mailing list
Fri Jan 3 01:44:00 GMT 2003
- Previous message (by thread): new mips elf ld testsuite failure
- Next message (by thread): [mips patch RFA] fix mips INSN_ISA*.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
So, way back when (December 2000), the MIPS INSN_ISA* constants were changed as described in: http://sources.redhat.com/ml/binutils/2000-10/msg00191.html They went from being numbers in the bottom 4 bits of the field to bit masks in ... more. The new constants were: ! #define INSN_ISA1 0x00000010 ! #define INSN_ISA2 0x00000020 ! #define INSN_ISA3 0x00000040 ! #define INSN_ISA4 0x00000080 ! #define INSN_ISA5 0x00000100 ! #define INSN_ISA32 0x00000200 Later a INSN_ISA_MASK constant was added: http://sources.redhat.com/ml/binutils/2001-05/msg00233.html as the low 16 bits, then trimmed to be the low 12: http://sources.redhat.com/ml/binutils/2001-08/msg00001.html Yet, the INSN_ISA* constants still did not use the low 4 bits. Really, I have no idea why this was, other than perhaps as an aid to help me debug possible problems in the initial conversion of those constants to be a bit mask. Anyway, the following patch moves these constants down by 4 bits (leaving the same 12 bits reserved for their use). I suppose future additions could be placed in the low 4 bits, but that seems, well, at best strange. No negative side-effects that I can think of (this is entirely internal to the assembler and disassembler code), and this change causes no new failures w/ my normal (large) set of MIPS targets. This seems fairly obvious, but it is also sufficiently strange (and I don't recall my motivation) so I thought i'd run it up the flagpole for approval. 8-) chris -- [ include/opcode/ChangeLog ] 2003-01-02 Chris Demetriou <cgd@broadcom.com> * mips.h: Fix missing space in comment. (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5) (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right by four bits. Index: include/opcode/mips.h =================================================================== RCS file: /cvs/src/src/include/opcode/mips.h,v retrieving revision 1.33 diff -u -p -r1.33 mips.h --- include/opcode/mips.h 2 Jan 2003 20:03:09 -0000 1.33 +++ include/opcode/mips.h 3 Jan 2003 01:42:08 -0000 @@ -373,18 +373,18 @@ struct mips_opcode /* Masks used to mark instructions to indicate which MIPS ISA level they were introduced in. ISAs, as defined below, are logical - ORs of these bits, indicatingthat they support the instructions + ORs of these bits, indicating that they support the instructions defined at the given level. */ #define INSN_ISA_MASK 0x00000fff -#define INSN_ISA1 0x00000010 -#define INSN_ISA2 0x00000020 -#define INSN_ISA3 0x00000040 -#define INSN_ISA4 0x00000080 -#define INSN_ISA5 0x00000100 -#define INSN_ISA32 0x00000200 -#define INSN_ISA64 0x00000400 -#define INSN_ISA32R2 0x00000800 +#define INSN_ISA1 0x00000001 +#define INSN_ISA2 0x00000002 +#define INSN_ISA3 0x00000004 +#define INSN_ISA4 0x00000008 +#define INSN_ISA5 0x00000010 +#define INSN_ISA32 0x00000020 +#define INSN_ISA64 0x00000040 +#define INSN_ISA32R2 0x00000080 /* Masks used for MIPS-defined ASEs. */ #define INSN_ASE_MASK 0x0000f000
- Previous message (by thread): new mips elf ld testsuite failure
- Next message (by thread): [mips patch RFA] fix mips INSN_ISA*.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list