diff options
author | Nick Clifton <nickc@redhat.com> | 2008-06-12 16:14:52 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2008-06-12 16:14:52 +0000 |
commit | bb35fb24c1026968796e6fff72bf81938ec2b9ce (patch) | |
tree | c117f5c39e654f840c5af81f6e226d4aa78b4c5e /gas/testsuite | |
parent | 3c9a78e063e11129d5684ddc2994f71c050b46ed (diff) | |
download | gdb-bb35fb24c1026968796e6fff72bf81938ec2b9ce.zip gdb-bb35fb24c1026968796e6fff72bf81938ec2b9ce.tar.gz gdb-bb35fb24c1026968796e6fff72bf81938ec2b9ce.tar.bz2 |
include/opcode/
* 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.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/octeon-ill.l | 15 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/octeon-ill.s | 29 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/octeon.d | 49 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/octeon.s | 58 |
6 files changed, 161 insertions, 3 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index e5738e0..234bbc2 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2008-06-12 Adam Nemet <anemet@caviumnetworks.com> + + * 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. + 2008-06-03 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/i386.exp: Run sse-check-none and diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 29cff0c..c960bf2 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -776,7 +776,9 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "loongson-2e" run_dump_test "loongson-2f" - run_dump_test "octeon" + run_dump_test_arches "octeon" [mips_arch_list_matching octeon] + run_list_test_arches "octeon-ill" "" \ + [mips_arch_list_matching octeon] run_dump_test "smartmips" run_dump_test "mips32-dsp" diff --git a/gas/testsuite/gas/mips/octeon-ill.l b/gas/testsuite/gas/mips/octeon-ill.l new file mode 100644 index 0000000..9fcfb94 --- /dev/null +++ b/gas/testsuite/gas/mips/octeon-ill.l @@ -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\) diff --git a/gas/testsuite/gas/mips/octeon-ill.s b/gas/testsuite/gas/mips/octeon-ill.s new file mode 100644 index 0000000..0f3013d --- /dev/null +++ b/gas/testsuite/gas/mips/octeon-ill.s @@ -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 diff --git a/gas/testsuite/gas/mips/octeon.d b/gas/testsuite/gas/mips/octeon.d index 130cff2..0cedad8 100644 --- a/gas/testsuite/gas/mips/octeon.d +++ b/gas/testsuite/gas/mips/octeon.d @@ -6,6 +6,53 @@ Disassembly of section .text: -[0-9a-f]+ <sync_insns>: +[0-9a-f]+ <foo>: +.*: 72538828 baddu \$17,\$18,\$19 +.*: 70431028 baddu \$2,\$2,\$3 +.*: ca76fffd bbit0 \$19,0x16,[0-9a-f]+ <foo> +.*: 00000000 nop +.*: dbcbfffb bbit032 \$30,0xb,[0-9a-f]+ <foo> +.*: 00000000 nop +.*: d90afff9 bbit032 \$8,0xa,[0-9a-f]+ <foo> +.*: 00000000 nop +.*: e87ffff7 bbit1 \$3,0x1f,[0-9a-f]+ <foo> +.*: 00000000 nop +.*: fb0afff5 bbit132 \$24,0xa,[0-9a-f]+ <foo> +.*: 00000000 nop +.*: f9cefff3 bbit132 \$14,0xe,[0-9a-f]+ <foo> +.*: 00000000 nop +.*: 715915b2 cins \$25,\$10,0x16,0x2 +.*: 7129ec72 cins \$9,\$9,0x11,0x1d +.*: 704f44b3 cins32 \$15,\$2,0x12,0x8 +.*: 72d6b273 cins32 \$22,\$22,0x9,0x16 +.*: 73f8f833 cins32 \$24,\$31,0x0,0x1f +.*: 71ef2973 cins32 \$15,\$15,0x5,0x5 +.*: 731c9803 dmul \$19,\$24,\$28 +.*: 72b9a803 dmul \$21,\$21,\$25 +.*: 7260402c pop \$8,\$19 +.*: 7040102c pop \$2,\$2 +.*: 72c0782d dpop \$15,\$22 +.*: 7180602d dpop \$12,\$12 +.*: 73847efa exts \$4,\$28,0x1b,0xf +.*: 71ef347a exts \$15,\$15,0x11,0x6 +.*: 71a442bb exts32 \$4,\$13,0xa,0x8 +.*: 71efa2fb exts32 \$15,\$15,0xb,0x14 +.*: 70874dbb exts32 \$7,\$4,0x16,0x9 +.*: 7339c97b exts32 \$25,\$25,0x5,0x19 +.*: 73400008 mtm0 \$26 +.*: 7260000c mtm1 \$19 +.*: 7240000d mtm2 \$18 +.*: 72000009 mtp0 \$16 +.*: 7320000a mtp1 \$25 +.*: 7120000b mtp2 \$9 .*: 0000008f synciobdma +.*: 0000018f syncs +.*: 0000010f syncw +.*: 0000014f syncws +.*: 7155a811 v3mulu \$21,\$10,\$21 +.*: 728aa011 v3mulu \$20,\$20,\$10 +.*: 72701810 vmm0 \$3,\$19,\$16 +.*: 73e9f810 vmm0 \$31,\$31,\$9 +.*: 7151e80f vmulu \$29,\$10,\$17 +.*: 7366d80f vmulu \$27,\$27,\$6 #pass diff --git a/gas/testsuite/gas/mips/octeon.s b/gas/testsuite/gas/mips/octeon.s index 20c584a..45154dc 100644 --- a/gas/testsuite/gas/mips/octeon.s +++ b/gas/testsuite/gas/mips/octeon.s @@ -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 |