From c8ab98e0eb4ece1bde68bc45c16a2f6db8ac065f Mon Sep 17 00:00:00 2001 From: David Daney Date: Thu, 4 Oct 2007 21:53:06 +0000 Subject: [PATCH] opcodes/ 2007-10-04 David Daney * mips-opc.c (mips_builtin_opcodes): Mark lwxc1 as working on FP_S registers. gas/testsuite/ 2007-10-04 David Daney * gas/mips/odd-float.d, gas/mips/odd-float.s: New test. * gas/mips/mips.exp: Run it. --- gas/testsuite/ChangeLog | 5 +++++ gas/testsuite/gas/mips/mips.exp | 1 + gas/testsuite/gas/mips/odd-float.d | 10 ++++++++++ gas/testsuite/gas/mips/odd-float.s | 6 ++++++ opcodes/ChangeLog | 5 +++++ opcodes/mips-opc.c | 2 +- 6 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 gas/testsuite/gas/mips/odd-float.d create mode 100644 gas/testsuite/gas/mips/odd-float.s diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index f68811409d..b097e1c552 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-10-04 David Daney + + * gas/mips/odd-float.d, gas/mips/odd-float.s: New test. + * gas/mips/mips.exp: Run it. + 2007-10-04 H.J. Lu PR gas/5109 diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 92abf32b6e..7291197f9d 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -775,4 +775,5 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "noreorder" run_dump_test "align" + run_dump_test "odd-float" } diff --git a/gas/testsuite/gas/mips/odd-float.d b/gas/testsuite/gas/mips/odd-float.d new file mode 100644 index 0000000000..24ac3adbb7 --- /dev/null +++ b/gas/testsuite/gas/mips/odd-float.d @@ -0,0 +1,10 @@ +#objdump: -dr --prefix-addresses +#name: MIPS odd float +#as: -32 -march=sb1 -EL --fatal-warnings + +.*: +file format .*mips.* + +Disassembly of section .text: +0+00 <[^>]*> lwxc1 \$f1,a0\(a1\) +0+04 <[^>]*> swxc1 \$f3,a0\(a1\) + ... diff --git a/gas/testsuite/gas/mips/odd-float.s b/gas/testsuite/gas/mips/odd-float.s new file mode 100644 index 0000000000..045c04d169 --- /dev/null +++ b/gas/testsuite/gas/mips/odd-float.s @@ -0,0 +1,6 @@ +# Source file used to test operations on odd numbered floating point +# registers. + +text_label: + lwxc1 $f1,$4($5) + swxc1 $f3,$4($5) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index bf1f8db816..485e3ed0f3 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2007-10-04 David Daney + + * mips-opc.c (mips_builtin_opcodes): Mark lwxc1 as working on FP_S + registers. + 2007-10-04 H.J. Lu * i386-dis.c (MOD_0F12_PREFIX_0): Use "movlps" and "movhlps" diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c index 7c2ef2bd31..d3bda1df45 100644 --- a/opcodes/mips-opc.c +++ b/opcodes/mips-opc.c @@ -744,7 +744,7 @@ const struct mips_opcode mips_builtin_opcodes[] = {"fork", "d,s,t", 0x7c000008, 0xfc0007ff, TRAP|WR_d|RD_s|RD_t, 0, MT32 }, {"lwu", "t,o(b)", 0x9c000000, 0xfc000000, LDD|RD_b|WR_t, 0, I3 }, {"lwu", "t,A(b)", 0, (int) M_LWU_AB, INSN_MACRO, 0, I3 }, -{"lwxc1", "D,t(b)", 0x4c000000, 0xfc00f83f, LDD|WR_D|RD_t|RD_b|FP_D, 0, I4|I33 }, +{"lwxc1", "D,t(b)", 0x4c000000, 0xfc00f83f, LDD|WR_D|RD_t|RD_b|FP_S, 0, I4|I33 }, {"lwxs", "d,t(b)", 0x70000088, 0xfc0007ff, LDD|RD_b|RD_t|WR_d, 0, SMT }, {"macc", "d,s,t", 0x00000028, 0xfc0007ff, RD_s|RD_t|WR_HILO|WR_d, 0, N412 }, {"macc", "d,s,t", 0x00000158, 0xfc0007ff, RD_s|RD_t|WR_HILO|WR_d, 0, N5 }, -- 2.34.1