summaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@nildram.co.uk>2013-07-07 10:15:08 +0000
committerRichard Sandiford <rsandifo@nildram.co.uk>2013-07-07 10:15:08 +0000
commitb2e3f322072bf85522e5fc1bd95df32c9b5eac83 (patch)
treec33958a0c64f82376fc9186f1d54910d67f3adec /gas/testsuite
parentfc309cea152f42d511039ef70d367d8ebc7a43fb (diff)
downloadbinutils-redhat-b2e3f322072bf85522e5fc1bd95df32c9b5eac83.tar.gz
include/opcode/
* mips.h: Remove documentation of "[" and "]". Update documentation of "k" and the MDMX formats. opcodes/ * mips-opc.c (mips_builtin_opcodes): Use "Q" for the INSN_5400 MDMX-like instructions. * mips-dis.c (print_insn_arg): Use "$f" rather than "$v" when printing "Q" operands for INSN_5400 instructions. gas/ * config/tc-mips.c (validate_mips_insn): Remove "[" and "]" handling. (mips_ip): Likewise. Do not set is_mdmx for INSN_5400 instructions. Check constraints on the VR5400 RZU.OB, SLL.OB and SRL.OB instructions. gas/testsuite/ * gas/mips/vr5400-ill.s, gas/mips/vr5400-ill.l: New test. * gas/mips/mips.exp: Run it.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/mips/mips.exp1
-rw-r--r--gas/testsuite/gas/mips/vr5400-ill.l13
-rw-r--r--gas/testsuite/gas/mips/vr5400-ill.s23
4 files changed, 42 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index bf440eb857..e918828af1 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2013-07-07 Richard Sandiford <rdsandiford@googlemail.com>
+ * gas/mips/vr5400-ill.s, gas/mips/vr5400-ill.l: New test.
+ * gas/mips/mips.exp: Run it.
+
+2013-07-07 Richard Sandiford <rdsandiford@googlemail.com>
+
* gas/mips/lb.d, gas/mips/sb.d: Use coprocessor register names
for LWC0 and SWC0.
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index b7538deab5..a1254d930b 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -707,6 +707,7 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "vr4120-2"
run_dump_test "vr4130"
run_dump_test "vr5400"
+ run_list_test "vr5400-ill" "-march=vr5400"
run_dump_test "vr5500"
run_dump_test "rm7000"
run_dump_test "perfcount"
diff --git a/gas/testsuite/gas/mips/vr5400-ill.l b/gas/testsuite/gas/mips/vr5400-ill.l
new file mode 100644
index 0000000000..1351947a3c
--- /dev/null
+++ b/gas/testsuite/gas/mips/vr5400-ill.l
@@ -0,0 +1,13 @@
+.*: Assembler messages:
+.*:3: Error: Operand 3 of `sll.ob' must be scalar
+.*:7: Error: Operand 3 of `srl.ob' must be scalar
+.*:10: Error: Operand 2 of `rzu.ob' must be an immediate
+.*:11: Error: Operand 2 of `rzu.ob' must be an immediate
+.*:14: Error: Illegal operands `add.ob \$v2,\$f4,\$f6'
+.*:15: Error: Illegal operands `add.ob \$f2,\$v4,\$f6'
+.*:16: Error: Illegal operands `add.ob \$f2,\$f4,\$v6'
+.*:17: Error: Illegal operands `add.ob \$v2,\$v4,\$v6'
+.*:20: Error: Illegal operands `add.ob \$v2,\$f4,\$f6\[1\]'
+.*:21: Error: Illegal operands `add.ob \$f2,\$v4,\$f6\[1\]'
+.*:22: Error: Illegal operands `add.ob \$f2,\$f4,\$v6\[1\]'
+.*:23: Error: Illegal operands `add.ob \$v2,\$v4,\$v6\[1\]'
diff --git a/gas/testsuite/gas/mips/vr5400-ill.s b/gas/testsuite/gas/mips/vr5400-ill.s
new file mode 100644
index 0000000000..88a48da4c2
--- /dev/null
+++ b/gas/testsuite/gas/mips/vr5400-ill.s
@@ -0,0 +1,23 @@
+ sll.ob $f2,$f4,4
+ sll.ob $f2,$f4,$f6[1]
+ sll.ob $f2,$f4,$f6
+
+ srl.ob $f2,$f4,4
+ srl.ob $f2,$f4,$f6[1]
+ srl.ob $f2,$f4,$f6
+
+ rzu.ob $f2,4
+ rzu.ob $f2,$f6[1]
+ rzu.ob $f2,$f6
+
+ add.ob $f2,$f4,$f6
+ add.ob $v2,$f4,$f6
+ add.ob $f2,$v4,$f6
+ add.ob $f2,$f4,$v6
+ add.ob $v2,$v4,$v6
+
+ add.ob $f2,$f4,$f6[1]
+ add.ob $v2,$f4,$f6[1]
+ add.ob $f2,$v4,$f6[1]
+ add.ob $f2,$f4,$v6[1]
+ add.ob $v2,$v4,$v6[1]