From 55a9ea5780a1fe0f012fda97cb3a8458518330bc Mon Sep 17 00:00:00 2001 From: Julian Brown 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 + + * 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 * 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 -- 2.30.2