diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2007-10-08 16:41:35 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2007-10-08 16:41:35 +0000 |
commit | f409fd1e69832e0b86b1655710cec7997e1fea7a (patch) | |
tree | 10e34602cd7896047b75a31b0101715ed2c11825 /gas | |
parent | 741fe287568e6f0da4523c85a5cc5608d05b8335 (diff) | |
download | fsf-binutils-gdb-f409fd1e69832e0b86b1655710cec7997e1fea7a.zip fsf-binutils-gdb-f409fd1e69832e0b86b1655710cec7997e1fea7a.tar.gz fsf-binutils-gdb-f409fd1e69832e0b86b1655710cec7997e1fea7a.tar.bz2 |
opcodes/:
* opcodes/mips-dis.c (mips_cp0_names_r3000): New definition.
(mips_cp0_names_r4000): Likewise.
(mips_arch_choices): Link to the above as appropriate.
gas/testsuite/:
* gas/mips/cp0-names-r3000.d: New test for R3000 CP0 symbolic
disassembly.
* gas/mips/cp0-names-r4000.d: New test for R4000/R4400 symbolic
CP0 disassembly.
* mips/mips.exp: Run the new tests.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/cp0-names-r3000.d | 43 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/cp0-names-r4000.d | 43 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 5 |
4 files changed, 100 insertions, 1 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 9f5a021..c02f4bb 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,4 +1,12 @@ -2007-10-01 Maciej W. Rozycki <macro@linux-mips.org> +2007-10-08 Maciej W. Rozycki <macro@linux-mips.org> + + * gas/mips/cp0-names-r3000.d: New test for R3000 CP0 symbolic + disassembly. + * gas/mips/cp0-names-r4000.d: New test for R4000/R4400 symbolic + CP0 disassembly. + * mips/mips.exp: Run the new tests. + +2007-10-08 Maciej W. Rozycki <macro@linux-mips.org> * gas/mips/at-1.d, gas/mips/at-2.l: New tests to check the ".set at=REG" directive. diff --git a/gas/testsuite/gas/mips/cp0-names-r3000.d b/gas/testsuite/gas/mips/cp0-names-r3000.d new file mode 100644 index 0000000..e0820fc --- /dev/null +++ b/gas/testsuite/gas/mips/cp0-names-r3000.d @@ -0,0 +1,43 @@ +#objdump: -dr --prefix-addresses --show-raw-insn -M gpr-names=numeric,cp0-names=r3000 +#name: MIPS CP0 register disassembly (r3000) +#as: -32 -march=r3000 +#source: cp0-names.s + +# Check objdump's handling of -M cp0-names=foo options. + +.*: +file format .*mips.* + +Disassembly of section \.text: +[0-9a-f]+ <[^>]*> 40800000 mtc0 \$0,c0_index +[0-9a-f]+ <[^>]*> 40800800 mtc0 \$0,c0_random +[0-9a-f]+ <[^>]*> 40801000 mtc0 \$0,c0_entrylo +[0-9a-f]+ <[^>]*> 40801800 mtc0 \$0,\$3 +[0-9a-f]+ <[^>]*> 40802000 mtc0 \$0,c0_context +[0-9a-f]+ <[^>]*> 40802800 mtc0 \$0,\$5 +[0-9a-f]+ <[^>]*> 40803000 mtc0 \$0,\$6 +[0-9a-f]+ <[^>]*> 40803800 mtc0 \$0,\$7 +[0-9a-f]+ <[^>]*> 40804000 mtc0 \$0,c0_badvaddr +[0-9a-f]+ <[^>]*> 40804800 mtc0 \$0,\$9 +[0-9a-f]+ <[^>]*> 40805000 mtc0 \$0,c0_entryhi +[0-9a-f]+ <[^>]*> 40805800 mtc0 \$0,\$11 +[0-9a-f]+ <[^>]*> 40806000 mtc0 \$0,c0_sr +[0-9a-f]+ <[^>]*> 40806800 mtc0 \$0,c0_cause +[0-9a-f]+ <[^>]*> 40807000 mtc0 \$0,c0_epc +[0-9a-f]+ <[^>]*> 40807800 mtc0 \$0,c0_prid +[0-9a-f]+ <[^>]*> 40808000 mtc0 \$0,\$16 +[0-9a-f]+ <[^>]*> 40808800 mtc0 \$0,\$17 +[0-9a-f]+ <[^>]*> 40809000 mtc0 \$0,\$18 +[0-9a-f]+ <[^>]*> 40809800 mtc0 \$0,\$19 +[0-9a-f]+ <[^>]*> 4080a000 mtc0 \$0,\$20 +[0-9a-f]+ <[^>]*> 4080a800 mtc0 \$0,\$21 +[0-9a-f]+ <[^>]*> 4080b000 mtc0 \$0,\$22 +[0-9a-f]+ <[^>]*> 4080b800 mtc0 \$0,\$23 +[0-9a-f]+ <[^>]*> 4080c000 mtc0 \$0,\$24 +[0-9a-f]+ <[^>]*> 4080c800 mtc0 \$0,\$25 +[0-9a-f]+ <[^>]*> 4080d000 mtc0 \$0,\$26 +[0-9a-f]+ <[^>]*> 4080d800 mtc0 \$0,\$27 +[0-9a-f]+ <[^>]*> 4080e000 mtc0 \$0,\$28 +[0-9a-f]+ <[^>]*> 4080e800 mtc0 \$0,\$29 +[0-9a-f]+ <[^>]*> 4080f000 mtc0 \$0,\$30 +[0-9a-f]+ <[^>]*> 4080f800 mtc0 \$0,\$31 + \.\.\. diff --git a/gas/testsuite/gas/mips/cp0-names-r4000.d b/gas/testsuite/gas/mips/cp0-names-r4000.d new file mode 100644 index 0000000..2ca4fe0 --- /dev/null +++ b/gas/testsuite/gas/mips/cp0-names-r4000.d @@ -0,0 +1,43 @@ +#objdump: -dr --prefix-addresses --show-raw-insn -M gpr-names=numeric +#name: MIPS CP0 register disassembly +#as: -32 -march=r4000 +#source: cp0-names.s + +# Check objdump's handling of -M cp0-names=foo options. + +.*: +file format .*mips.* + +Disassembly of section \.text: +[0-9a-f]+ <[^>]*> 40800000 mtc0 \$0,c0_index +[0-9a-f]+ <[^>]*> 40800800 mtc0 \$0,c0_random +[0-9a-f]+ <[^>]*> 40801000 mtc0 \$0,c0_entrylo0 +[0-9a-f]+ <[^>]*> 40801800 mtc0 \$0,c0_entrylo1 +[0-9a-f]+ <[^>]*> 40802000 mtc0 \$0,c0_context +[0-9a-f]+ <[^>]*> 40802800 mtc0 \$0,c0_pagemask +[0-9a-f]+ <[^>]*> 40803000 mtc0 \$0,c0_wired +[0-9a-f]+ <[^>]*> 40803800 mtc0 \$0,\$7 +[0-9a-f]+ <[^>]*> 40804000 mtc0 \$0,c0_badvaddr +[0-9a-f]+ <[^>]*> 40804800 mtc0 \$0,c0_count +[0-9a-f]+ <[^>]*> 40805000 mtc0 \$0,c0_entryhi +[0-9a-f]+ <[^>]*> 40805800 mtc0 \$0,c0_compare +[0-9a-f]+ <[^>]*> 40806000 mtc0 \$0,c0_sr +[0-9a-f]+ <[^>]*> 40806800 mtc0 \$0,c0_cause +[0-9a-f]+ <[^>]*> 40807000 mtc0 \$0,c0_epc +[0-9a-f]+ <[^>]*> 40807800 mtc0 \$0,c0_prid +[0-9a-f]+ <[^>]*> 40808000 mtc0 \$0,c0_config +[0-9a-f]+ <[^>]*> 40808800 mtc0 \$0,c0_lladdr +[0-9a-f]+ <[^>]*> 40809000 mtc0 \$0,c0_watchlo +[0-9a-f]+ <[^>]*> 40809800 mtc0 \$0,c0_watchhi +[0-9a-f]+ <[^>]*> 4080a000 mtc0 \$0,c0_xcontext +[0-9a-f]+ <[^>]*> 4080a800 mtc0 \$0,\$21 +[0-9a-f]+ <[^>]*> 4080b000 mtc0 \$0,\$22 +[0-9a-f]+ <[^>]*> 4080b800 mtc0 \$0,\$23 +[0-9a-f]+ <[^>]*> 4080c000 mtc0 \$0,\$24 +[0-9a-f]+ <[^>]*> 4080c800 mtc0 \$0,\$25 +[0-9a-f]+ <[^>]*> 4080d000 mtc0 \$0,c0_ecc +[0-9a-f]+ <[^>]*> 4080d800 mtc0 \$0,c0_cacheerr +[0-9a-f]+ <[^>]*> 4080e000 mtc0 \$0,c0_taglo +[0-9a-f]+ <[^>]*> 4080e800 mtc0 \$0,c0_taghi +[0-9a-f]+ <[^>]*> 4080f000 mtc0 \$0,c0_errorepc +[0-9a-f]+ <[^>]*> 4080f800 mtc0 \$0,\$31 + \.\.\. diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 344e62b..30efee8 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -696,6 +696,11 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "fpr-names-64" run_dump_test "cp0-names-numeric" + run_dump_test "cp0-names-r3000" + run_dump_test "cp0-names-r4000" \ + { { {name} {(r4000)} } { {objdump} {-M cp0-names=r4000} } } + run_dump_test "cp0-names-r4000" \ + { { {name} {(r4400)} } { {objdump} {-M cp0-names=r4400} } } run_dump_test "cp0-names-mips32" run_dump_test "cp0-names-mips32r2" run_dump_test "cp0-names-mips64" |