From be67e76b5b08b5b6dc296d95750a3232099c9efe Mon Sep 17 00:00:00 2001 From: ths Date: Fri, 9 Jun 2006 11:53:38 +0000 Subject: [PATCH] [ gas/ChangeLog ] * config/tc-mips.c (mips_ip): Maintain argument count. [ gas/testsuite/ChangeLog ] * gas/mips/mips32-sf32.s, gas/mips/mips32-sf32.d: New test for odd single precision FPRs on MIPS32. * gas/mips/mips.exp: Run them. --- gas/ChangeLog | 4 ++++ gas/testsuite/ChangeLog | 7 +++++++ gas/testsuite/gas/mips/mips.exp | 2 ++ gas/testsuite/gas/mips/mips32-sf32.d | 19 +++++++++++++++++++ gas/testsuite/gas/mips/mips32-sf32.s | 14 ++++++++++++++ 5 files changed, 46 insertions(+) create mode 100644 gas/testsuite/gas/mips/mips32-sf32.d create mode 100644 gas/testsuite/gas/mips/mips32-sf32.s diff --git a/gas/ChangeLog b/gas/ChangeLog index 30773662ae..a225bb09aa 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2006-06-09 Thiemo Seufer + + * config/tc-mips.c (mips_ip): Maintain argument count. + 2006-06-09 Alan Modra * config/tc-iq2000.c: Include sb.h. diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 8193d528fc..1fd5057499 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2006-06-09 Thiemo Seufer + Nigel Stephens + + * gas/mips/mips32-sf32.s, gas/mips/mips32-sf32.d: New test for odd + single precision FPRs on MIPS32. + * gas/mips/mips.exp: Run them. + 2006-06-08 Thiemo Seufer Nigel Stephens diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 3feae89e36..6141f009db 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -561,6 +561,8 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "mips32" [mips_arch_list_matching mips32] + run_dump_test_arches "mips32-sf32" [mips_arch_list_matching mips32] + run_dump_test_arches "mips32r2" [mips_arch_list_matching mips32r2] run_list_test_arches "mips32r2-ill" "-32" \ [mips_arch_list_matching mips32r2 gpr32] diff --git a/gas/testsuite/gas/mips/mips32-sf32.d b/gas/testsuite/gas/mips/mips32-sf32.d new file mode 100644 index 0000000000..4de9844d26 --- /dev/null +++ b/gas/testsuite/gas/mips/mips32-sf32.d @@ -0,0 +1,19 @@ +#objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric +#name: MIPS32 odd single-precision float registers +#as: -32 + +# Check MIPS32 instruction assembly + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> 3c013f80 lui \$1,0x3f80 +0+0004 <[^>]*> 44810800 mtc1 \$1,\$f1 +0+0008 <[^>]*> c783c000 lwc1 \$f3,-16384\(\$28\) + 8: R_MIPS_LITERAL \.lit4\+0x4000 +0+000c <[^>]*> 46030940 add.s \$f5,\$f1,\$f3 +0+0010 <[^>]*> 46003a21 cvt.d.s \$f8,\$f7 +0+0014 <[^>]*> 46803a21 cvt.d.w \$f8,\$f7 +0+0018 <[^>]*> 462041e0 cvt.s.d \$f7,\$f8 +0+001c <[^>]*> 462041cd trunc.w.d \$f7,\$f8 + \.\.\. diff --git a/gas/testsuite/gas/mips/mips32-sf32.s b/gas/testsuite/gas/mips/mips32-sf32.s new file mode 100644 index 0000000000..68b7e4ea76 --- /dev/null +++ b/gas/testsuite/gas/mips/mips32-sf32.s @@ -0,0 +1,14 @@ + + .text +func: + .set noreorder + li.s $f1, 1.0 + li.s $f3, 1.9 + add.s $f5, $f1, $f3 + cvt.d.s $f8,$f7 + cvt.d.w $f8,$f7 + cvt.s.d $f7,$f8 + trunc.w.d $f7,$f8 + +# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... + .space 8 -- 2.11.0