Browse Source
* mips.h: Document new field descriptors +x, +X, +p, +P, +s, +S.
Update comment before MIPS16 field descriptors to mention MIPS16.
(OP_SH_BBITIND, OP_MASK_BBITIND): New bit mask and shift count for
BBIT.
(OP_SH_CINSPOS, OP_MASK_CINSPOS, OP_SH_CINSLM1, OP_MASK_CINSLM1):
New bit masks and shift counts for cins and exts.
gas/
* config/tc-mips.c (validate_mips_insn): Handle field descriptors
+x, +X, +p, +P, +s, +S.
(mips_ip): Likewise.
opcodes/
* mips-dis.c (print_insn_args): Handle field descriptors +x, +p,
+s, +S.
* mips-opc.c (mips_builtin_opcodes): Add Octeon instructions
baddu, bbit*, cins*, dmul, pop, dpop, exts*, mtm*, mtp*, syncs,
syncw, syncws, vm3mulu, vm0 and vmulu.
gas/testsuite/
* gas/mips/octeon.s, gas/mips/octeon.d: Add tests for baddu,
bbit*, cins*, dmul, pop, dpop, exts*, mtm*, mtp*, syncs, syncw,
syncws, vm3mulu, vm0 and vmulu.
* gas/mips/octeon-ill.s, gas/mips/octeon-ill.s: New test.
* gas/mips/mips.exp: Run it. Run octeon test with
run_dump_test_arches.
binutils-arc-20080908-branch
13 changed files with 360 additions and 10 deletions
@ -0,0 +1,15 @@ |
|||
.*: Assembler messages: |
|||
.*:5: Error: Improper bit index \(51\) |
|||
.*:7: Error: Improper bit index \(71\) |
|||
.*:10: Error: Improper bit index \(49\) |
|||
.*:12: Error: Improper bit index \(74\) |
|||
.*:15: Error: Improper size \(37\) |
|||
.*:17: Error: Improper position \(39\) |
|||
.*:18: Error: Improper size \(25\) |
|||
.*:20: Error: Improper position \(64\) |
|||
.*:21: Error: Improper size \(14\) |
|||
.*:23: Error: Improper size \(32\) |
|||
.*:25: Error: Improper position \(32\) |
|||
.*:26: Error: Improper size \(29\) |
|||
.*:28: Error: Improper position \(70\) |
|||
.*:29: Error: Improper size \(25\) |
|||
@ -0,0 +1,29 @@ |
|||
.text |
|||
.set noreorder |
|||
|
|||
foo: |
|||
bbit032 $23,51,foo |
|||
nop |
|||
bbit0 $23,71,foo |
|||
nop |
|||
|
|||
bbit132 $23,49,foo |
|||
nop |
|||
bbit1 $23,74,foo |
|||
nop |
|||
|
|||
cins $2,0,37 |
|||
|
|||
cins32 $19,$31,39,12 |
|||
cins32 $17,$20,7,25 |
|||
|
|||
cins $24,$10,64,8 |
|||
cins $21,$30,50,14 |
|||
|
|||
exts $26,26,32 |
|||
|
|||
exts32 $7,$21,32,10 |
|||
exts32 $31,$13,3,29 |
|||
|
|||
exts $14,$29,70,14 |
|||
exts $20,$16,39,25 |
|||
@ -1,6 +1,62 @@ |
|||
.text |
|||
.set noreorder |
|||
|
|||
sync_insns: |
|||
foo: |
|||
baddu $17,$18,$19 |
|||
baddu $2,$3 |
|||
|
|||
bbit0 $19,22,foo |
|||
nop |
|||
bbit032 $30,11,foo |
|||
nop |
|||
bbit0 $8,42,foo |
|||
nop |
|||
|
|||
bbit1 $3,31,foo |
|||
nop |
|||
bbit132 $24,10,foo |
|||
nop |
|||
bbit1 $14,46,foo |
|||
nop |
|||
|
|||
cins $25,$10,22,2 |
|||
cins $9,17,29 |
|||
cins32 $15,$2,18,8 |
|||
cins32 $22,9,22 |
|||
cins $24,$31,32,31 |
|||
cins $15,37,5 |
|||
|
|||
dmul $19,$24,$28 |
|||
dmul $21,$25 |
|||
|
|||
pop $8,$19 |
|||
pop $2 |
|||
dpop $15,$22 |
|||
dpop $12 |
|||
|
|||
exts $4,$28,27,15 |
|||
exts $15,17,6 |
|||
exts32 $4,$13,10,8 |
|||
exts32 $15,11,20 |
|||
exts $7,$4,54,9 |
|||
exts $25,37,25 |
|||
|
|||
mtm0 $26 |
|||
mtm1 $19 |
|||
mtm2 $18 |
|||
|
|||
mtp0 $16 |
|||
mtp1 $25 |
|||
mtp2 $9 |
|||
|
|||
synciobdma |
|||
syncs |
|||
syncw |
|||
syncws |
|||
|
|||
v3mulu $21,$10,$21 |
|||
v3mulu $20,$10 |
|||
vmm0 $3,$19,$16 |
|||
vmm0 $31,$9 |
|||
vmulu $29,$10,$17 |
|||
vmulu $27,$6 |
|||
|
|||
Loading…
Reference in new issue