diff options
author | Nick Clifton <nickc@redhat.com> | 2008-06-12 21:44:53 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2008-06-12 21:44:53 +0000 |
commit | dc70030aba5a95d6449c57c5a87a83fc902e9a23 (patch) | |
tree | 9cddcace335e113652c52bd3a85e099f1f1e3935 /include/opcode | |
parent | 637fe5e44fc0a8d9bdb4ec02739f8ac748eda625 (diff) | |
download | cygnal-dc70030aba5a95d6449c57c5a87a83fc902e9a23.tar.gz cygnal-dc70030aba5a95d6449c57c5a87a83fc902e9a23.tar.bz2 cygnal-dc70030aba5a95d6449c57c5a87a83fc902e9a23.zip |
* mips.h: Document new field descriptors +Q.
(OP_SH_SEQI, OP_MASK_SEQI): New bit mask and shift count for SEQI.
opcodes/
* mips-dis.c (print_insn_args): Handle field descriptor +Q.
* mips-opc.c (mips_builtin_opcodes): Add Octeon instructions seq,
seqi, sne and snei.
gas/
* config/tc-mips.c (validate_mips_insn): Handle field descriptor +Q.
(mips_ip): Likewise.
(macro_build): Likewise.
(CPU_HAS_SEQ): New macro.
(macro2) <M_SEQ_I, M_SNE_I>: Use it. Emit seq/sne and seqi/snei.
gas/testsuite/
* gas/mips/octeon.s, gas/mips/octeon.d: Add tests for seq* and sne*.
* gas/mips/octeon-ill.s, gas/mips/octeon-ill.s: Add tests for seqi
and snei.
Diffstat (limited to 'include/opcode')
-rw-r--r-- | include/opcode/ChangeLog | 3 | ||||
-rw-r--r-- | include/opcode/mips.h | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 802ce5a35..32b9728bc 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -7,6 +7,9 @@ (OP_SH_CINSPOS, OP_MASK_CINSPOS, OP_SH_CINSLM1, OP_MASK_CINSLM1): New bit masks and shift counts for cins and exts. + * mips.h: Document new field descriptors +Q. + (OP_SH_SEQI, OP_MASK_SEQI): New bit mask and shift count for SEQI. + 2008-04-28 Adam Nemet <anemet@caviumnetworks.com> * mips.h (INSN_MACRO): Move it up to the the pinfo macros. diff --git a/include/opcode/mips.h b/include/opcode/mips.h index 2487f9e64..8d201f62e 100644 --- a/include/opcode/mips.h +++ b/include/opcode/mips.h @@ -222,6 +222,8 @@ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, US #define OP_MASK_CINSPOS 0x1f #define OP_SH_CINSLM1 11 #define OP_MASK_CINSLM1 0x1f +#define OP_SH_SEQI 6 +#define OP_MASK_SEQI 0x3ff /* This structure holds information for a particular instruction. */ @@ -385,6 +387,7 @@ struct mips_opcode "+p" Position field of cins/cins32/exts/exts32. Enforces 0 <= pos < 32. "+P" Position field of cins/exts aliasing cins32/exts32. Matches if 32 <= pos < 64, otherwise skips to next candidate. + "+Q" Immediate field of seqi/snei. Enforces -512 <= imm < 512. "+s" Length-minus-one field of cins/exts. Enforces: 0 <= lenm1 < 32. "+S" Length-minus-one field of cins32/exts32 or cins/exts aliasing cint32/exts32. Enforces non-negative value and that @@ -406,7 +409,7 @@ struct mips_opcode Extension character sequences used so far ("+" followed by the following), for quick reference when adding more: "1234" - "ABCDEFGHIPSTX" + "ABCDEFGHIPQSTX" "pstx" */ |