Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2008-06-13 01:44:53 +0400
committerNick Clifton <nickc@redhat.com>2008-06-13 01:44:53 +0400
commitdc70030aba5a95d6449c57c5a87a83fc902e9a23 (patch)
tree9cddcace335e113652c52bd3a85e099f1f1e3935 /include/opcode/mips.h
parent637fe5e44fc0a8d9bdb4ec02739f8ac748eda625 (diff)
* 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/mips.h')
-rw-r--r--include/opcode/mips.h5
1 files changed, 4 insertions, 1 deletions
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"
*/