From 55a9ea5780a1fe0f012fda97cb3a8458518330bc Mon Sep 17 00:00:00 2001
From: Julian Brown <julian@codesourcery.com>
Date: Fri, 5 May 2006 18:53:09 +0000
Subject: [PATCH] 	* gas/arm/vfp-neon-overlap.s: New test. Overlapping
 VFP/Neon 	instructions. 	* gas/arm/vfp-neon-overlap.d: Expected output
 of above. 	* gas/arm/vfp1xD.d: Test for fldmx/fstmx. 	*
 gas/arm/vfp1xD_t2.d: Likewise. 	* gas/arm/vfpv3-32drs.d: Likewise.

---
 gas/testsuite/ChangeLog                  |  9 +++
 gas/testsuite/gas/arm/vfp-neon-overlap.d | 35 ++++++++++++
 gas/testsuite/gas/arm/vfp-neon-overlap.s | 41 ++++++++++++++
 gas/testsuite/gas/arm/vfp1xD.d           | 70 ++++++++++++------------
 gas/testsuite/gas/arm/vfp1xD_t2.d        | 70 ++++++++++++------------
 gas/testsuite/gas/arm/vfpv3-32drs.d      |  6 +-
 6 files changed, 158 insertions(+), 73 deletions(-)
 create mode 100644 gas/testsuite/gas/arm/vfp-neon-overlap.d
 create mode 100644 gas/testsuite/gas/arm/vfp-neon-overlap.s

diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 1cbea61ed4b..32e140de98b 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2006-05-05  Julian Brown  <julian@codesourcery.com>
+
+	* gas/arm/vfp-neon-overlap.s: New test. Overlapping VFP/Neon
+	instructions.
+	* gas/arm/vfp-neon-overlap.d: Expected output of above.
+	* gas/arm/vfp1xD.d: Test for fldmx/fstmx.
+	* gas/arm/vfp1xD_t2.d: Likewise.
+	* gas/arm/vfpv3-32drs.d: Likewise.
+
 2006-05-05  Nigel Stephens  <nigel@mips.com>
 
 	* gas/mips/noreorder.s, gas/mips/noreorder.d: New test for
diff --git a/gas/testsuite/gas/arm/vfp-neon-overlap.d b/gas/testsuite/gas/arm/vfp-neon-overlap.d
new file mode 100644
index 00000000000..b7815640089
--- /dev/null
+++ b/gas/testsuite/gas/arm/vfp-neon-overlap.d
@@ -0,0 +1,35 @@
+# name: VFP/Neon overlapping instructions
+# as: -mfpu=vfp
+# objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0[0-9a-f]+ <[^>]+> ec410b10 	vmov	d0, r0, r1
+0[0-9a-f]+ <[^>]+> ec410b10 	vmov	d0, r0, r1
+0[0-9a-f]+ <[^>]+> ec510b10 	vmov	r0, r1, d0
+0[0-9a-f]+ <[^>]+> ec510b10 	vmov	r0, r1, d0
+0[0-9a-f]+ <[^>]+> ec900b09 	fldmiax	r0, {d0-d3}
+0[0-9a-f]+ <[^>]+> ed300b09 	fldmdbx	r0!, {d0-d3}
+0[0-9a-f]+ <[^>]+> ec800b09 	fstmiax	r0, {d0-d3}
+0[0-9a-f]+ <[^>]+> ed200b09 	fstmdbx	r0!, {d0-d3}
+0[0-9a-f]+ <[^>]+> ed900b00 	vldr	d0, \[r0\]
+0[0-9a-f]+ <[^>]+> ed900b00 	vldr	d0, \[r0\]
+0[0-9a-f]+ <[^>]+> ed800b00 	vstr	d0, \[r0\]
+0[0-9a-f]+ <[^>]+> ed800b00 	vstr	d0, \[r0\]
+0[0-9a-f]+ <[^>]+> ec900b08 	vldmia	r0, {d0-d3}
+0[0-9a-f]+ <[^>]+> ec900b08 	vldmia	r0, {d0-d3}
+0[0-9a-f]+ <[^>]+> ed300b08 	vldmdb	r0!, {d0-d3}
+0[0-9a-f]+ <[^>]+> ed300b08 	vldmdb	r0!, {d0-d3}
+0[0-9a-f]+ <[^>]+> ec800b08 	vstmia	r0, {d0-d3}
+0[0-9a-f]+ <[^>]+> ec800b08 	vstmia	r0, {d0-d3}
+0[0-9a-f]+ <[^>]+> ed200b08 	vstmdb	r0!, {d0-d3}
+0[0-9a-f]+ <[^>]+> ed200b08 	vstmdb	r0!, {d0-d3}
+0[0-9a-f]+ <[^>]+> ee300b10 	vmov\.32	r0, d0\[1\]
+0[0-9a-f]+ <[^>]+> ee300b10 	vmov\.32	r0, d0\[1\]
+0[0-9a-f]+ <[^>]+> ee100b10 	vmov\.32	r0, d0\[0\]
+0[0-9a-f]+ <[^>]+> ee100b10 	vmov\.32	r0, d0\[0\]
+0[0-9a-f]+ <[^>]+> ee200b10 	vmov\.32	d0\[1\], r0
+0[0-9a-f]+ <[^>]+> ee200b10 	vmov\.32	d0\[1\], r0
+0[0-9a-f]+ <[^>]+> ee000b10 	vmov\.32	d0\[0\], r0
+0[0-9a-f]+ <[^>]+> ee000b10 	vmov\.32	d0\[0\], r0
diff --git a/gas/testsuite/gas/arm/vfp-neon-overlap.s b/gas/testsuite/gas/arm/vfp-neon-overlap.s
new file mode 100644
index 00000000000..19c286afca4
--- /dev/null
+++ b/gas/testsuite/gas/arm/vfp-neon-overlap.s
@@ -0,0 +1,41 @@
+@ VFP/Neon overlapping instructions
+
+	.arm
+	.text
+	.syntax unified
+
+	fmdrr d0,r0,r1
+        vmov d0,r0,r1
+        fmrrd r0,r1,d0
+        vmov r0,r1,d0
+
+	@ the 'x' versions should disassemble as VFP instructions, because
+        @ they can't be represented in Neon syntax.
+
+	fldmiax r0,{d0-d3}
+        fldmdbx r0!,{d0-d3}
+        fstmiax r0,{d0-d3}
+        fstmdbx r0!,{d0-d3}
+
+	fldd d0,[r0]
+        vldr d0,[r0]
+        fstd d0,[r0]
+        vstr d0,[r0]
+
+	fldmiad r0,{d0-d3}
+        vldmia r0,{d0-d3}
+        fldmdbd r0!,{d0-d3}
+        vldmdb r0!,{d0-d3}
+        fstmiad r0,{d0-d3}
+        vstmia r0,{d0-d3}
+        fstmdbd r0!,{d0-d3}
+        vstmdb r0!,{d0-d3}
+
+	fmrdh r0,d0
+        vmov.32 r0,d0[1]
+        fmrdl r0,d0
+        vmov.32 r0,d0[0]
+	fmdhr d0,r0
+        vmov.32 d0[1],r0
+        fmdlr d0,r0
+        vmov.32 d0[0],r0
diff --git a/gas/testsuite/gas/arm/vfp1xD.d b/gas/testsuite/gas/arm/vfp1xD.d
index 1dab07cea6e..096b46c86e4 100644
--- a/gas/testsuite/gas/arm/vfp1xD.d
+++ b/gas/testsuite/gas/arm/vfp1xD.d
@@ -33,24 +33,24 @@ Disassembly of section .text:
 0+05c <[^>]*> ecb00a01 	fldmias	r0!, {s0}
 0+060 <[^>]*> ed300a01 	fldmdbs	r0!, {s0}
 0+064 <[^>]*> ed300a01 	fldmdbs	r0!, {s0}
-0+068 <[^>]*> ec900b03 	vldmia	r0, {d0}
-0+06c <[^>]*> ec900b03 	vldmia	r0, {d0}
-0+070 <[^>]*> ecb00b03 	vldmia	r0!, {d0}
-0+074 <[^>]*> ecb00b03 	vldmia	r0!, {d0}
-0+078 <[^>]*> ed300b03 	vldmdb	r0!, {d0}
-0+07c <[^>]*> ed300b03 	vldmdb	r0!, {d0}
+0+068 <[^>]*> ec900b03 	fldmiax	r0, {d0}
+0+06c <[^>]*> ec900b03 	fldmiax	r0, {d0}
+0+070 <[^>]*> ecb00b03 	fldmiax	r0!, {d0}
+0+074 <[^>]*> ecb00b03 	fldmiax	r0!, {d0}
+0+078 <[^>]*> ed300b03 	fldmdbx	r0!, {d0}
+0+07c <[^>]*> ed300b03 	fldmdbx	r0!, {d0}
 0+080 <[^>]*> ec800a01 	fstmias	r0, {s0}
 0+084 <[^>]*> ec800a01 	fstmias	r0, {s0}
 0+088 <[^>]*> eca00a01 	fstmias	r0!, {s0}
 0+08c <[^>]*> eca00a01 	fstmias	r0!, {s0}
 0+090 <[^>]*> ed200a01 	fstmdbs	r0!, {s0}
 0+094 <[^>]*> ed200a01 	fstmdbs	r0!, {s0}
-0+098 <[^>]*> ec800b03 	vstmia	r0, {d0}
-0+09c <[^>]*> ec800b03 	vstmia	r0, {d0}
-0+0a0 <[^>]*> eca00b03 	vstmia	r0!, {d0}
-0+0a4 <[^>]*> eca00b03 	vstmia	r0!, {d0}
-0+0a8 <[^>]*> ed200b03 	vstmdb	r0!, {d0}
-0+0ac <[^>]*> ed200b03 	vstmdb	r0!, {d0}
+0+098 <[^>]*> ec800b03 	fstmiax	r0, {d0}
+0+09c <[^>]*> ec800b03 	fstmiax	r0, {d0}
+0+0a0 <[^>]*> eca00b03 	fstmiax	r0!, {d0}
+0+0a4 <[^>]*> eca00b03 	fstmiax	r0!, {d0}
+0+0a8 <[^>]*> ed200b03 	fstmdbx	r0!, {d0}
+0+0ac <[^>]*> ed200b03 	fstmdbx	r0!, {d0}
 0+0b0 <[^>]*> eeb80ac0 	fsitos	s0, s0
 0+0b4 <[^>]*> eeb80a40 	fuitos	s0, s0
 0+0b8 <[^>]*> eebd0a40 	ftosis	s0, s0
@@ -142,17 +142,17 @@ Disassembly of section .text:
 0+210 <[^>]*> ec90fa02 	fldmias	r0, {s30-s31}
 0+214 <[^>]*> ec910a01 	fldmias	r1, {s0}
 0+218 <[^>]*> ec9e0a01 	fldmias	lr, {s0}
-0+21c <[^>]*> ec801b03 	vstmia	r0, {d1}
-0+220 <[^>]*> ec802b03 	vstmia	r0, {d2}
-0+224 <[^>]*> ec80fb03 	vstmia	r0, {d15}
-0+228 <[^>]*> ec800b05 	vstmia	r0, {d0-d1}
-0+22c <[^>]*> ec800b07 	vstmia	r0, {d0-d2}
-0+230 <[^>]*> ec800b21 	vstmia	r0, {d0-d15}
-0+234 <[^>]*> ec801b1f 	vstmia	r0, {d1-d15}
-0+238 <[^>]*> ec802b1d 	vstmia	r0, {d2-d15}
-0+23c <[^>]*> ec80eb05 	vstmia	r0, {d14-d15}
-0+240 <[^>]*> ec810b03 	vstmia	r1, {d0}
-0+244 <[^>]*> ec8e0b03 	vstmia	lr, {d0}
+0+21c <[^>]*> ec801b03 	fstmiax	r0, {d1}
+0+220 <[^>]*> ec802b03 	fstmiax	r0, {d2}
+0+224 <[^>]*> ec80fb03 	fstmiax	r0, {d15}
+0+228 <[^>]*> ec800b05 	fstmiax	r0, {d0-d1}
+0+22c <[^>]*> ec800b07 	fstmiax	r0, {d0-d2}
+0+230 <[^>]*> ec800b21 	fstmiax	r0, {d0-d15}
+0+234 <[^>]*> ec801b1f 	fstmiax	r0, {d1-d15}
+0+238 <[^>]*> ec802b1d 	fstmiax	r0, {d2-d15}
+0+23c <[^>]*> ec80eb05 	fstmiax	r0, {d14-d15}
+0+240 <[^>]*> ec810b03 	fstmiax	r1, {d0}
+0+244 <[^>]*> ec8e0b03 	fstmiax	lr, {d0}
 0+248 <[^>]*> eeb50a40 	fcmpzs	s0
 0+24c <[^>]*> eef50a40 	fcmpzs	s1
 0+250 <[^>]*> eeb51a40 	fcmpzs	s2
@@ -211,24 +211,24 @@ Disassembly of section .text:
 0+324 <[^>]*> 0cf42a01 	fldmiaseq	r4!, {s5}
 0+328 <[^>]*> 0d352a01 	fldmdbseq	r5!, {s4}
 0+32c <[^>]*> 0d761a01 	fldmdbseq	r6!, {s3}
-0+330 <[^>]*> 0c971b03 	vldmiaeq	r7, {d1}
-0+334 <[^>]*> 0c982b03 	vldmiaeq	r8, {d2}
-0+338 <[^>]*> 0cb93b03 	vldmiaeq	r9!, {d3}
-0+33c <[^>]*> 0cba4b03 	vldmiaeq	sl!, {d4}
-0+340 <[^>]*> 0d3b5b03 	vldmdbeq	fp!, {d5}
-0+344 <[^>]*> 0d3c6b03 	vldmdbeq	ip!, {d6}
+0+330 <[^>]*> 0c971b03 	fldmiaxeq	r7, {d1}
+0+334 <[^>]*> 0c982b03 	fldmiaxeq	r8, {d2}
+0+338 <[^>]*> 0cb93b03 	fldmiaxeq	r9!, {d3}
+0+33c <[^>]*> 0cba4b03 	fldmiaxeq	sl!, {d4}
+0+340 <[^>]*> 0d3b5b03 	fldmdbxeq	fp!, {d5}
+0+344 <[^>]*> 0d3c6b03 	fldmdbxeq	ip!, {d6}
 0+348 <[^>]*> 0c8d1a01 	fstmiaseq	sp, {s2}
 0+34c <[^>]*> 0cce0a01 	fstmiaseq	lr, {s1}
 0+350 <[^>]*> 0ce1fa01 	fstmiaseq	r1!, {s31}
 0+354 <[^>]*> 0ca2fa01 	fstmiaseq	r2!, {s30}
 0+358 <[^>]*> 0d63ea01 	fstmdbseq	r3!, {s29}
 0+35c <[^>]*> 0d24ea01 	fstmdbseq	r4!, {s28}
-0+360 <[^>]*> 0c857b03 	vstmiaeq	r5, {d7}
-0+364 <[^>]*> 0c868b03 	vstmiaeq	r6, {d8}
-0+368 <[^>]*> 0ca79b03 	vstmiaeq	r7!, {d9}
-0+36c <[^>]*> 0ca8ab03 	vstmiaeq	r8!, {d10}
-0+370 <[^>]*> 0d29bb03 	vstmdbeq	r9!, {d11}
-0+374 <[^>]*> 0d2acb03 	vstmdbeq	sl!, {d12}
+0+360 <[^>]*> 0c857b03 	fstmiaxeq	r5, {d7}
+0+364 <[^>]*> 0c868b03 	fstmiaxeq	r6, {d8}
+0+368 <[^>]*> 0ca79b03 	fstmiaxeq	r7!, {d9}
+0+36c <[^>]*> 0ca8ab03 	fstmiaxeq	r8!, {d10}
+0+370 <[^>]*> 0d29bb03 	fstmdbxeq	r9!, {d11}
+0+374 <[^>]*> 0d2acb03 	fstmdbxeq	sl!, {d12}
 0+378 <[^>]*> 0ef8dac3 	fsitoseq	s27, s6
 0+37c <[^>]*> 0efdca62 	ftosiseq	s25, s5
 0+380 <[^>]*> 0efdbac2 	ftosizseq	s23, s4
diff --git a/gas/testsuite/gas/arm/vfp1xD_t2.d b/gas/testsuite/gas/arm/vfp1xD_t2.d
index 65d6115c968..327383d01c5 100644
--- a/gas/testsuite/gas/arm/vfp1xD_t2.d
+++ b/gas/testsuite/gas/arm/vfp1xD_t2.d
@@ -33,24 +33,24 @@ Disassembly of section .text:
 0+05c <[^>]*> ecb0 0a01 	fldmias	r0!, {s0}
 0+060 <[^>]*> ed30 0a01 	fldmdbs	r0!, {s0}
 0+064 <[^>]*> ed30 0a01 	fldmdbs	r0!, {s0}
-0+068 <[^>]*> ec90 0b03 	vldmia	r0, {d0}
-0+06c <[^>]*> ec90 0b03 	vldmia	r0, {d0}
-0+070 <[^>]*> ecb0 0b03 	vldmia	r0!, {d0}
-0+074 <[^>]*> ecb0 0b03 	vldmia	r0!, {d0}
-0+078 <[^>]*> ed30 0b03 	vldmdb	r0!, {d0}
-0+07c <[^>]*> ed30 0b03 	vldmdb	r0!, {d0}
+0+068 <[^>]*> ec90 0b03 	fldmiax	r0, {d0}
+0+06c <[^>]*> ec90 0b03 	fldmiax	r0, {d0}
+0+070 <[^>]*> ecb0 0b03 	fldmiax	r0!, {d0}
+0+074 <[^>]*> ecb0 0b03 	fldmiax	r0!, {d0}
+0+078 <[^>]*> ed30 0b03 	fldmdbx	r0!, {d0}
+0+07c <[^>]*> ed30 0b03 	fldmdbx	r0!, {d0}
 0+080 <[^>]*> ec80 0a01 	fstmias	r0, {s0}
 0+084 <[^>]*> ec80 0a01 	fstmias	r0, {s0}
 0+088 <[^>]*> eca0 0a01 	fstmias	r0!, {s0}
 0+08c <[^>]*> eca0 0a01 	fstmias	r0!, {s0}
 0+090 <[^>]*> ed20 0a01 	fstmdbs	r0!, {s0}
 0+094 <[^>]*> ed20 0a01 	fstmdbs	r0!, {s0}
-0+098 <[^>]*> ec80 0b03 	vstmia	r0, {d0}
-0+09c <[^>]*> ec80 0b03 	vstmia	r0, {d0}
-0+0a0 <[^>]*> eca0 0b03 	vstmia	r0!, {d0}
-0+0a4 <[^>]*> eca0 0b03 	vstmia	r0!, {d0}
-0+0a8 <[^>]*> ed20 0b03 	vstmdb	r0!, {d0}
-0+0ac <[^>]*> ed20 0b03 	vstmdb	r0!, {d0}
+0+098 <[^>]*> ec80 0b03 	fstmiax	r0, {d0}
+0+09c <[^>]*> ec80 0b03 	fstmiax	r0, {d0}
+0+0a0 <[^>]*> eca0 0b03 	fstmiax	r0!, {d0}
+0+0a4 <[^>]*> eca0 0b03 	fstmiax	r0!, {d0}
+0+0a8 <[^>]*> ed20 0b03 	fstmdbx	r0!, {d0}
+0+0ac <[^>]*> ed20 0b03 	fstmdbx	r0!, {d0}
 0+0b0 <[^>]*> eeb8 0ac0 	fsitos	s0, s0
 0+0b4 <[^>]*> eeb8 0a40 	fuitos	s0, s0
 0+0b8 <[^>]*> eebd 0a40 	ftosis	s0, s0
@@ -142,17 +142,17 @@ Disassembly of section .text:
 0+210 <[^>]*> ec90 fa02 	fldmias	r0, {s30-s31}
 0+214 <[^>]*> ec91 0a01 	fldmias	r1, {s0}
 0+218 <[^>]*> ec9e 0a01 	fldmias	lr, {s0}
-0+21c <[^>]*> ec80 1b03 	vstmia	r0, {d1}
-0+220 <[^>]*> ec80 2b03 	vstmia	r0, {d2}
-0+224 <[^>]*> ec80 fb03 	vstmia	r0, {d15}
-0+228 <[^>]*> ec80 0b05 	vstmia	r0, {d0-d1}
-0+22c <[^>]*> ec80 0b07 	vstmia	r0, {d0-d2}
-0+230 <[^>]*> ec80 0b21 	vstmia	r0, {d0-d15}
-0+234 <[^>]*> ec80 1b1f 	vstmia	r0, {d1-d15}
-0+238 <[^>]*> ec80 2b1d 	vstmia	r0, {d2-d15}
-0+23c <[^>]*> ec80 eb05 	vstmia	r0, {d14-d15}
-0+240 <[^>]*> ec81 0b03 	vstmia	r1, {d0}
-0+244 <[^>]*> ec8e 0b03 	vstmia	lr, {d0}
+0+21c <[^>]*> ec80 1b03 	fstmiax	r0, {d1}
+0+220 <[^>]*> ec80 2b03 	fstmiax	r0, {d2}
+0+224 <[^>]*> ec80 fb03 	fstmiax	r0, {d15}
+0+228 <[^>]*> ec80 0b05 	fstmiax	r0, {d0-d1}
+0+22c <[^>]*> ec80 0b07 	fstmiax	r0, {d0-d2}
+0+230 <[^>]*> ec80 0b21 	fstmiax	r0, {d0-d15}
+0+234 <[^>]*> ec80 1b1f 	fstmiax	r0, {d1-d15}
+0+238 <[^>]*> ec80 2b1d 	fstmiax	r0, {d2-d15}
+0+23c <[^>]*> ec80 eb05 	fstmiax	r0, {d14-d15}
+0+240 <[^>]*> ec81 0b03 	fstmiax	r1, {d0}
+0+244 <[^>]*> ec8e 0b03 	fstmiax	lr, {d0}
 0+248 <[^>]*> eeb5 0a40 	fcmpzs	s0
 0+24c <[^>]*> eef5 0a40 	fcmpzs	s1
 0+250 <[^>]*> eeb5 1a40 	fcmpzs	s2
@@ -219,13 +219,13 @@ Disassembly of section .text:
 0+334 <[^>]*> bf01      	itttt	eq
 0+336 <[^>]*> ed35 2a01 	fldmdbs(eq|)	r5!, {s4}
 0+33a <[^>]*> ed76 1a01 	fldmdbs(eq|)	r6!, {s3}
-0+33e <[^>]*> ec97 1b03 	vldmia(eq|)	r7, {d1}
-0+342 <[^>]*> ec98 2b03 	vldmia(eq|)	r8, {d2}
+0+33e <[^>]*> ec97 1b03 	fldmiax(eq|)	r7, {d1}
+0+342 <[^>]*> ec98 2b03 	fldmiax(eq|)	r8, {d2}
 0+346 <[^>]*> bf01      	itttt	eq
-0+348 <[^>]*> ecb9 3b03 	vldmia(eq|)	r9!, {d3}
-0+34c <[^>]*> ecba 4b03 	vldmia(eq|)	sl!, {d4}
-0+350 <[^>]*> ed3b 5b03 	vldmdb(eq|)	fp!, {d5}
-0+354 <[^>]*> ed3c 6b03 	vldmdb(eq|)	ip!, {d6}
+0+348 <[^>]*> ecb9 3b03 	fldmiax(eq|)	r9!, {d3}
+0+34c <[^>]*> ecba 4b03 	fldmiax(eq|)	sl!, {d4}
+0+350 <[^>]*> ed3b 5b03 	fldmdbx(eq|)	fp!, {d5}
+0+354 <[^>]*> ed3c 6b03 	fldmdbx(eq|)	ip!, {d6}
 0+358 <[^>]*> bf01      	itttt	eq
 0+35a <[^>]*> ec8d 1a01 	fstmias(eq|)	sp, {s2}
 0+35e <[^>]*> ecce 0a01 	fstmias(eq|)	lr, {s1}
@@ -234,13 +234,13 @@ Disassembly of section .text:
 0+36a <[^>]*> bf01      	itttt	eq
 0+36c <[^>]*> ed63 ea01 	fstmdbs(eq|)	r3!, {s29}
 0+370 <[^>]*> ed24 ea01 	fstmdbs(eq|)	r4!, {s28}
-0+374 <[^>]*> ec85 7b03 	vstmia(eq|)	r5, {d7}
-0+378 <[^>]*> ec86 8b03 	vstmia(eq|)	r6, {d8}
+0+374 <[^>]*> ec85 7b03 	fstmiax(eq|)	r5, {d7}
+0+378 <[^>]*> ec86 8b03 	fstmiax(eq|)	r6, {d8}
 0+37c <[^>]*> bf01      	itttt	eq
-0+37e <[^>]*> eca7 9b03 	vstmia(eq|)	r7!, {d9}
-0+382 <[^>]*> eca8 ab03 	vstmia(eq|)	r8!, {d10}
-0+386 <[^>]*> ed29 bb03 	vstmdb(eq|)	r9!, {d11}
-0+38a <[^>]*> ed2a cb03 	vstmdb(eq|)	sl!, {d12}
+0+37e <[^>]*> eca7 9b03 	fstmiax(eq|)	r7!, {d9}
+0+382 <[^>]*> eca8 ab03 	fstmiax(eq|)	r8!, {d10}
+0+386 <[^>]*> ed29 bb03 	fstmdbx(eq|)	r9!, {d11}
+0+38a <[^>]*> ed2a cb03 	fstmdbx(eq|)	sl!, {d12}
 0+38e <[^>]*> bf01      	itttt	eq
 0+390 <[^>]*> eef8 dac3 	fsitos(eq|)	s27, s6
 0+394 <[^>]*> eefd ca62 	ftosis(eq|)	s25, s5
diff --git a/gas/testsuite/gas/arm/vfpv3-32drs.d b/gas/testsuite/gas/arm/vfpv3-32drs.d
index 11f9e93d916..f42c373f4c3 100644
--- a/gas/testsuite/gas/arm/vfpv3-32drs.d
+++ b/gas/testsuite/gas/arm/vfpv3-32drs.d
@@ -23,9 +23,9 @@ Disassembly of section \.text:
 0[0-9a-f]+ <[^>]+> edca5b01 	vstr	d21, \[sl, #4\]
 0[0-9a-f]+ <[^>]+> ecba5b04 	vldmia	sl!, {d5-d6}
 0[0-9a-f]+ <[^>]+> ecfa2b06 	vldmia	sl!, {d18-d20}
-0[0-9a-f]+ <[^>]+> ecba5b05 	vldmia	sl!, {d5-d6}
-0[0-9a-f]+ <[^>]+> ecfa2b07 	vldmia	sl!, {d18-d20}
-0[0-9a-f]+ <[^>]+> ed7a2b05 	vldmdb	sl!, {d18-d19}
+0[0-9a-f]+ <[^>]+> ecba5b05 	fldmiax	sl!, {d5-d6}
+0[0-9a-f]+ <[^>]+> ecfa2b07 	fldmiax	sl!, {d18-d20}
+0[0-9a-f]+ <[^>]+> ed7a2b05 	fldmdbx	sl!, {d18-d19}
 0[0-9a-f]+ <[^>]+> ecc94b0a 	vstmia	r9, {d20-d24}
 0[0-9a-f]+ <[^>]+> eeb03bc5 	fabsd	d3, d5
 0[0-9a-f]+ <[^>]+> eeb0cbe2 	fabsd	d12, d18