[Patch] MIPS opcodes: fix transposed FS and FT in vadda and vmsuba

"Piotr P. Stefaniak" <[email protected]> Sat, 25 Jul 2026 17:37:17 +0200
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
Of the 36 three-operand ACC-destination VU0 macro-mode entries in
`opcodes/mips-opc.c`, all but two list FS before FT.  The two exceptions
are vadda and vmsuba.

For `vmsuba` this reversal silently changes results. The PS2 multiplier
is not symmetric in its two source fields: the Booth recoder consumes FT
while FS is shifted, so `vf[fs] * vf[ft]` and `vf[ft] * vf[fs]` differ
by one ULP.

Patch attached. If it doesn't meet your standards, please treat this
email as a Problem Report.

Piotr
0001-MIPS-opcodes-fix-transposed-FS-and-FT-in-vadda.patch (text/x-diff, 32.1 KB)
From 2dd09c9179986cda6fac6f3e72fb076e5e05b675 Mon Sep 17 00:00:00 2001
From: Piotr P. Stefaniak <[email protected]>
Date: Sat, 25 Jul 2026 13:13:07 +0200
Subject: [PATCH] MIPS opcodes: fix transposed FS and FT in vadda and vmsuba

Of the 36 three-operand ACC-destination VU0 macro-mode entries in
`opcodes/mips-opc.c`, all but two list FS before FT.  The two exceptions
are vadda and vmsuba.

For `vmsuba` this reversal silently changes results. The PS2 multiplier
is not symmetric in its two source fields: the Booth recoder consumes FT
while FS is shifted, so `vf[fs] * vf[ft]` and `vf[ft] * vf[fs]` differ
by one ULP.
---
 gas/testsuite/gas/mips/r5900-all-vu0.d  | 240 ++++++++++++------------
 gas/testsuite/gas/mips/r5900-full-vu0.d |   4 +-
 opcodes/mips-opc.c                      |   4 +-
 3 files changed, 124 insertions(+), 124 deletions(-)

diff --git a/gas/testsuite/gas/mips/r5900-all-vu0.d b/gas/testsuite/gas/mips/r5900-all-vu0.d
index 9528c6e28ae..0a7c4086815 100644
--- a/gas/testsuite/gas/mips/r5900-all-vu0.d
+++ b/gas/testsuite/gas/mips/r5900-all-vu0.d
@@ -186,10 +186,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a600a3c 	vaddaq\.zw	\$ACCzw,\$vf1zw,\$Q
 [0-9a-f]+ <[^>]*> 4a60fa3c 	vaddaq\.zw	\$ACCzw,\$vf31zw,\$Q
 [0-9a-f]+ <[^>]*> 4a2002bc 	vadda\.w	\$ACCw,\$vf0w,\$vf0w
-[0-9a-f]+ <[^>]*> 4a20fabc 	vadda\.w	\$ACCw,\$vf0w,\$vf31w
-[0-9a-f]+ <[^>]*> 4a2112bc 	vadda\.w	\$ACCw,\$vf1w,\$vf2w
-[0-9a-f]+ <[^>]*> 4a3f02bc 	vadda\.w	\$ACCw,\$vf31w,\$vf0w
-[0-9a-f]+ <[^>]*> 4a3f7abc 	vadda\.w	\$ACCw,\$vf31w,\$vf15w
+[0-9a-f]+ <[^>]*> 4a3f02bc 	vadda\.w	\$ACCw,\$vf0w,\$vf31w
+[0-9a-f]+ <[^>]*> 4a220abc 	vadda\.w	\$ACCw,\$vf1w,\$vf2w
+[0-9a-f]+ <[^>]*> 4a20fabc 	vadda\.w	\$ACCw,\$vf31w,\$vf0w
+[0-9a-f]+ <[^>]*> 4a2ffabc 	vadda\.w	\$ACCw,\$vf31w,\$vf15w
 [0-9a-f]+ <[^>]*> 4a3ffabc 	vadda\.w	\$ACCw,\$vf31w,\$vf31w
 [0-9a-f]+ <[^>]*> 4a20003f 	vaddaw\.w	\$ACCw,\$vf0w,\$vf0w
 [0-9a-f]+ <[^>]*> 4a3f003f 	vaddaw\.w	\$ACCw,\$vf0w,\$vf31w
@@ -282,10 +282,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a6ff83f 	vaddaw\.zw	\$ACCzw,\$vf31zw,\$vf15w
 [0-9a-f]+ <[^>]*> 4a7ff83f 	vaddaw\.zw	\$ACCzw,\$vf31zw,\$vf31w
 [0-9a-f]+ <[^>]*> 4b0002bc 	vadda\.x	\$ACCx,\$vf0x,\$vf0x
-[0-9a-f]+ <[^>]*> 4b00fabc 	vadda\.x	\$ACCx,\$vf0x,\$vf31x
-[0-9a-f]+ <[^>]*> 4b0112bc 	vadda\.x	\$ACCx,\$vf1x,\$vf2x
-[0-9a-f]+ <[^>]*> 4b1f02bc 	vadda\.x	\$ACCx,\$vf31x,\$vf0x
-[0-9a-f]+ <[^>]*> 4b1f7abc 	vadda\.x	\$ACCx,\$vf31x,\$vf15x
+[0-9a-f]+ <[^>]*> 4b1f02bc 	vadda\.x	\$ACCx,\$vf0x,\$vf31x
+[0-9a-f]+ <[^>]*> 4b020abc 	vadda\.x	\$ACCx,\$vf1x,\$vf2x
+[0-9a-f]+ <[^>]*> 4b00fabc 	vadda\.x	\$ACCx,\$vf31x,\$vf0x
+[0-9a-f]+ <[^>]*> 4b0ffabc 	vadda\.x	\$ACCx,\$vf31x,\$vf15x
 [0-9a-f]+ <[^>]*> 4b1ffabc 	vadda\.x	\$ACCx,\$vf31x,\$vf31x
 [0-9a-f]+ <[^>]*> 4a20003c 	vaddax\.w	\$ACCw,\$vf0w,\$vf0x
 [0-9a-f]+ <[^>]*> 4a3f003c 	vaddax\.w	\$ACCw,\$vf0w,\$vf31x
@@ -294,10 +294,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a2ff83c 	vaddax\.w	\$ACCw,\$vf31w,\$vf15x
 [0-9a-f]+ <[^>]*> 4a3ff83c 	vaddax\.w	\$ACCw,\$vf31w,\$vf31x
 [0-9a-f]+ <[^>]*> 4b2002bc 	vadda\.xw	\$ACCxw,\$vf0xw,\$vf0xw
-[0-9a-f]+ <[^>]*> 4b20fabc 	vadda\.xw	\$ACCxw,\$vf0xw,\$vf31xw
-[0-9a-f]+ <[^>]*> 4b2112bc 	vadda\.xw	\$ACCxw,\$vf1xw,\$vf2xw
-[0-9a-f]+ <[^>]*> 4b3f02bc 	vadda\.xw	\$ACCxw,\$vf31xw,\$vf0xw
-[0-9a-f]+ <[^>]*> 4b3f7abc 	vadda\.xw	\$ACCxw,\$vf31xw,\$vf15xw
+[0-9a-f]+ <[^>]*> 4b3f02bc 	vadda\.xw	\$ACCxw,\$vf0xw,\$vf31xw
+[0-9a-f]+ <[^>]*> 4b220abc 	vadda\.xw	\$ACCxw,\$vf1xw,\$vf2xw
+[0-9a-f]+ <[^>]*> 4b20fabc 	vadda\.xw	\$ACCxw,\$vf31xw,\$vf0xw
+[0-9a-f]+ <[^>]*> 4b2ffabc 	vadda\.xw	\$ACCxw,\$vf31xw,\$vf15xw
 [0-9a-f]+ <[^>]*> 4b3ffabc 	vadda\.xw	\$ACCxw,\$vf31xw,\$vf31xw
 [0-9a-f]+ <[^>]*> 4b00003c 	vaddax\.x	\$ACCx,\$vf0x,\$vf0x
 [0-9a-f]+ <[^>]*> 4b1f003c 	vaddax\.x	\$ACCx,\$vf0x,\$vf31x
@@ -348,10 +348,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4b6ff83c 	vaddax\.xzw	\$ACCxzw,\$vf31xzw,\$vf15x
 [0-9a-f]+ <[^>]*> 4b7ff83c 	vaddax\.xzw	\$ACCxzw,\$vf31xzw,\$vf31x
 [0-9a-f]+ <[^>]*> 4b8002bc 	vadda\.xy	\$ACCxy,\$vf0xy,\$vf0xy
-[0-9a-f]+ <[^>]*> 4b80fabc 	vadda\.xy	\$ACCxy,\$vf0xy,\$vf31xy
-[0-9a-f]+ <[^>]*> 4b8112bc 	vadda\.xy	\$ACCxy,\$vf1xy,\$vf2xy
-[0-9a-f]+ <[^>]*> 4b9f02bc 	vadda\.xy	\$ACCxy,\$vf31xy,\$vf0xy
-[0-9a-f]+ <[^>]*> 4b9f7abc 	vadda\.xy	\$ACCxy,\$vf31xy,\$vf15xy
+[0-9a-f]+ <[^>]*> 4b9f02bc 	vadda\.xy	\$ACCxy,\$vf0xy,\$vf31xy
+[0-9a-f]+ <[^>]*> 4b820abc 	vadda\.xy	\$ACCxy,\$vf1xy,\$vf2xy
+[0-9a-f]+ <[^>]*> 4b80fabc 	vadda\.xy	\$ACCxy,\$vf31xy,\$vf0xy
+[0-9a-f]+ <[^>]*> 4b8ffabc 	vadda\.xy	\$ACCxy,\$vf31xy,\$vf15xy
 [0-9a-f]+ <[^>]*> 4b9ffabc 	vadda\.xy	\$ACCxy,\$vf31xy,\$vf31xy
 [0-9a-f]+ <[^>]*> 4a80003c 	vaddax\.y	\$ACCy,\$vf0y,\$vf0x
 [0-9a-f]+ <[^>]*> 4a9f003c 	vaddax\.y	\$ACCy,\$vf0y,\$vf31x
@@ -360,10 +360,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a8ff83c 	vaddax\.y	\$ACCy,\$vf31y,\$vf15x
 [0-9a-f]+ <[^>]*> 4a9ff83c 	vaddax\.y	\$ACCy,\$vf31y,\$vf31x
 [0-9a-f]+ <[^>]*> 4ba002bc 	vadda\.xyw	\$ACCxyw,\$vf0xyw,\$vf0xyw
-[0-9a-f]+ <[^>]*> 4ba0fabc 	vadda\.xyw	\$ACCxyw,\$vf0xyw,\$vf31xyw
-[0-9a-f]+ <[^>]*> 4ba112bc 	vadda\.xyw	\$ACCxyw,\$vf1xyw,\$vf2xyw
-[0-9a-f]+ <[^>]*> 4bbf02bc 	vadda\.xyw	\$ACCxyw,\$vf31xyw,\$vf0xyw
-[0-9a-f]+ <[^>]*> 4bbf7abc 	vadda\.xyw	\$ACCxyw,\$vf31xyw,\$vf15xyw
+[0-9a-f]+ <[^>]*> 4bbf02bc 	vadda\.xyw	\$ACCxyw,\$vf0xyw,\$vf31xyw
+[0-9a-f]+ <[^>]*> 4ba20abc 	vadda\.xyw	\$ACCxyw,\$vf1xyw,\$vf2xyw
+[0-9a-f]+ <[^>]*> 4ba0fabc 	vadda\.xyw	\$ACCxyw,\$vf31xyw,\$vf0xyw
+[0-9a-f]+ <[^>]*> 4baffabc 	vadda\.xyw	\$ACCxyw,\$vf31xyw,\$vf15xyw
 [0-9a-f]+ <[^>]*> 4bbffabc 	vadda\.xyw	\$ACCxyw,\$vf31xyw,\$vf31xyw
 [0-9a-f]+ <[^>]*> 4aa0003c 	vaddax\.yw	\$ACCyw,\$vf0yw,\$vf0x
 [0-9a-f]+ <[^>]*> 4abf003c 	vaddax\.yw	\$ACCyw,\$vf0yw,\$vf31x
@@ -372,10 +372,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4aaff83c 	vaddax\.yw	\$ACCyw,\$vf31yw,\$vf15x
 [0-9a-f]+ <[^>]*> 4abff83c 	vaddax\.yw	\$ACCyw,\$vf31yw,\$vf31x
 [0-9a-f]+ <[^>]*> 4bc002bc 	vadda\.xyz	\$ACCxyz,\$vf0xyz,\$vf0xyz
-[0-9a-f]+ <[^>]*> 4bc0fabc 	vadda\.xyz	\$ACCxyz,\$vf0xyz,\$vf31xyz
-[0-9a-f]+ <[^>]*> 4bc112bc 	vadda\.xyz	\$ACCxyz,\$vf1xyz,\$vf2xyz
-[0-9a-f]+ <[^>]*> 4bdf02bc 	vadda\.xyz	\$ACCxyz,\$vf31xyz,\$vf0xyz
-[0-9a-f]+ <[^>]*> 4bdf7abc 	vadda\.xyz	\$ACCxyz,\$vf31xyz,\$vf15xyz
+[0-9a-f]+ <[^>]*> 4bdf02bc 	vadda\.xyz	\$ACCxyz,\$vf0xyz,\$vf31xyz
+[0-9a-f]+ <[^>]*> 4bc20abc 	vadda\.xyz	\$ACCxyz,\$vf1xyz,\$vf2xyz
+[0-9a-f]+ <[^>]*> 4bc0fabc 	vadda\.xyz	\$ACCxyz,\$vf31xyz,\$vf0xyz
+[0-9a-f]+ <[^>]*> 4bcffabc 	vadda\.xyz	\$ACCxyz,\$vf31xyz,\$vf15xyz
 [0-9a-f]+ <[^>]*> 4bdffabc 	vadda\.xyz	\$ACCxyz,\$vf31xyz,\$vf31xyz
 [0-9a-f]+ <[^>]*> 4ac0003c 	vaddax\.yz	\$ACCyz,\$vf0yz,\$vf0x
 [0-9a-f]+ <[^>]*> 4adf003c 	vaddax\.yz	\$ACCyz,\$vf0yz,\$vf31x
@@ -384,10 +384,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4acff83c 	vaddax\.yz	\$ACCyz,\$vf31yz,\$vf15x
 [0-9a-f]+ <[^>]*> 4adff83c 	vaddax\.yz	\$ACCyz,\$vf31yz,\$vf31x
 [0-9a-f]+ <[^>]*> 4be002bc 	vadda\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf0xyzw
-[0-9a-f]+ <[^>]*> 4be0fabc 	vadda\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf31xyzw
-[0-9a-f]+ <[^>]*> 4be112bc 	vadda\.xyzw	\$ACCxyzw,\$vf1xyzw,\$vf2xyzw
-[0-9a-f]+ <[^>]*> 4bff02bc 	vadda\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf0xyzw
-[0-9a-f]+ <[^>]*> 4bff7abc 	vadda\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf15xyzw
+[0-9a-f]+ <[^>]*> 4bff02bc 	vadda\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf31xyzw
+[0-9a-f]+ <[^>]*> 4be20abc 	vadda\.xyzw	\$ACCxyzw,\$vf1xyzw,\$vf2xyzw
+[0-9a-f]+ <[^>]*> 4be0fabc 	vadda\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf0xyzw
+[0-9a-f]+ <[^>]*> 4beffabc 	vadda\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf15xyzw
 [0-9a-f]+ <[^>]*> 4bfffabc 	vadda\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf31xyzw
 [0-9a-f]+ <[^>]*> 4ae0003c 	vaddax\.yzw	\$ACCyzw,\$vf0yzw,\$vf0x
 [0-9a-f]+ <[^>]*> 4aff003c 	vaddax\.yzw	\$ACCyzw,\$vf0yzw,\$vf31x
@@ -396,10 +396,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4aeff83c 	vaddax\.yzw	\$ACCyzw,\$vf31yzw,\$vf15x
 [0-9a-f]+ <[^>]*> 4afff83c 	vaddax\.yzw	\$ACCyzw,\$vf31yzw,\$vf31x
 [0-9a-f]+ <[^>]*> 4b4002bc 	vadda\.xz	\$ACCxz,\$vf0xz,\$vf0xz
-[0-9a-f]+ <[^>]*> 4b40fabc 	vadda\.xz	\$ACCxz,\$vf0xz,\$vf31xz
-[0-9a-f]+ <[^>]*> 4b4112bc 	vadda\.xz	\$ACCxz,\$vf1xz,\$vf2xz
-[0-9a-f]+ <[^>]*> 4b5f02bc 	vadda\.xz	\$ACCxz,\$vf31xz,\$vf0xz
-[0-9a-f]+ <[^>]*> 4b5f7abc 	vadda\.xz	\$ACCxz,\$vf31xz,\$vf15xz
+[0-9a-f]+ <[^>]*> 4b5f02bc 	vadda\.xz	\$ACCxz,\$vf0xz,\$vf31xz
+[0-9a-f]+ <[^>]*> 4b420abc 	vadda\.xz	\$ACCxz,\$vf1xz,\$vf2xz
+[0-9a-f]+ <[^>]*> 4b40fabc 	vadda\.xz	\$ACCxz,\$vf31xz,\$vf0xz
+[0-9a-f]+ <[^>]*> 4b4ffabc 	vadda\.xz	\$ACCxz,\$vf31xz,\$vf15xz
 [0-9a-f]+ <[^>]*> 4b5ffabc 	vadda\.xz	\$ACCxz,\$vf31xz,\$vf31xz
 [0-9a-f]+ <[^>]*> 4a40003c 	vaddax\.z	\$ACCz,\$vf0z,\$vf0x
 [0-9a-f]+ <[^>]*> 4a5f003c 	vaddax\.z	\$ACCz,\$vf0z,\$vf31x
@@ -408,10 +408,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a4ff83c 	vaddax\.z	\$ACCz,\$vf31z,\$vf15x
 [0-9a-f]+ <[^>]*> 4a5ff83c 	vaddax\.z	\$ACCz,\$vf31z,\$vf31x
 [0-9a-f]+ <[^>]*> 4b6002bc 	vadda\.xzw	\$ACCxzw,\$vf0xzw,\$vf0xzw
-[0-9a-f]+ <[^>]*> 4b60fabc 	vadda\.xzw	\$ACCxzw,\$vf0xzw,\$vf31xzw
-[0-9a-f]+ <[^>]*> 4b6112bc 	vadda\.xzw	\$ACCxzw,\$vf1xzw,\$vf2xzw
-[0-9a-f]+ <[^>]*> 4b7f02bc 	vadda\.xzw	\$ACCxzw,\$vf31xzw,\$vf0xzw
-[0-9a-f]+ <[^>]*> 4b7f7abc 	vadda\.xzw	\$ACCxzw,\$vf31xzw,\$vf15xzw
+[0-9a-f]+ <[^>]*> 4b7f02bc 	vadda\.xzw	\$ACCxzw,\$vf0xzw,\$vf31xzw
+[0-9a-f]+ <[^>]*> 4b620abc 	vadda\.xzw	\$ACCxzw,\$vf1xzw,\$vf2xzw
+[0-9a-f]+ <[^>]*> 4b60fabc 	vadda\.xzw	\$ACCxzw,\$vf31xzw,\$vf0xzw
+[0-9a-f]+ <[^>]*> 4b6ffabc 	vadda\.xzw	\$ACCxzw,\$vf31xzw,\$vf15xzw
 [0-9a-f]+ <[^>]*> 4b7ffabc 	vadda\.xzw	\$ACCxzw,\$vf31xzw,\$vf31xzw
 [0-9a-f]+ <[^>]*> 4a60003c 	vaddax\.zw	\$ACCzw,\$vf0zw,\$vf0x
 [0-9a-f]+ <[^>]*> 4a7f003c 	vaddax\.zw	\$ACCzw,\$vf0zw,\$vf31x
@@ -420,10 +420,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a6ff83c 	vaddax\.zw	\$ACCzw,\$vf31zw,\$vf15x
 [0-9a-f]+ <[^>]*> 4a7ff83c 	vaddax\.zw	\$ACCzw,\$vf31zw,\$vf31x
 [0-9a-f]+ <[^>]*> 4a8002bc 	vadda\.y	\$ACCy,\$vf0y,\$vf0y
-[0-9a-f]+ <[^>]*> 4a80fabc 	vadda\.y	\$ACCy,\$vf0y,\$vf31y
-[0-9a-f]+ <[^>]*> 4a8112bc 	vadda\.y	\$ACCy,\$vf1y,\$vf2y
-[0-9a-f]+ <[^>]*> 4a9f02bc 	vadda\.y	\$ACCy,\$vf31y,\$vf0y
-[0-9a-f]+ <[^>]*> 4a9f7abc 	vadda\.y	\$ACCy,\$vf31y,\$vf15y
+[0-9a-f]+ <[^>]*> 4a9f02bc 	vadda\.y	\$ACCy,\$vf0y,\$vf31y
+[0-9a-f]+ <[^>]*> 4a820abc 	vadda\.y	\$ACCy,\$vf1y,\$vf2y
+[0-9a-f]+ <[^>]*> 4a80fabc 	vadda\.y	\$ACCy,\$vf31y,\$vf0y
+[0-9a-f]+ <[^>]*> 4a8ffabc 	vadda\.y	\$ACCy,\$vf31y,\$vf15y
 [0-9a-f]+ <[^>]*> 4a9ffabc 	vadda\.y	\$ACCy,\$vf31y,\$vf31y
 [0-9a-f]+ <[^>]*> 4a20003d 	vadday\.w	\$ACCw,\$vf0w,\$vf0y
 [0-9a-f]+ <[^>]*> 4a3f003d 	vadday\.w	\$ACCw,\$vf0w,\$vf31y
@@ -432,10 +432,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a2ff83d 	vadday\.w	\$ACCw,\$vf31w,\$vf15y
 [0-9a-f]+ <[^>]*> 4a3ff83d 	vadday\.w	\$ACCw,\$vf31w,\$vf31y
 [0-9a-f]+ <[^>]*> 4aa002bc 	vadda\.yw	\$ACCyw,\$vf0yw,\$vf0yw
-[0-9a-f]+ <[^>]*> 4aa0fabc 	vadda\.yw	\$ACCyw,\$vf0yw,\$vf31yw
-[0-9a-f]+ <[^>]*> 4aa112bc 	vadda\.yw	\$ACCyw,\$vf1yw,\$vf2yw
-[0-9a-f]+ <[^>]*> 4abf02bc 	vadda\.yw	\$ACCyw,\$vf31yw,\$vf0yw
-[0-9a-f]+ <[^>]*> 4abf7abc 	vadda\.yw	\$ACCyw,\$vf31yw,\$vf15yw
+[0-9a-f]+ <[^>]*> 4abf02bc 	vadda\.yw	\$ACCyw,\$vf0yw,\$vf31yw
+[0-9a-f]+ <[^>]*> 4aa20abc 	vadda\.yw	\$ACCyw,\$vf1yw,\$vf2yw
+[0-9a-f]+ <[^>]*> 4aa0fabc 	vadda\.yw	\$ACCyw,\$vf31yw,\$vf0yw
+[0-9a-f]+ <[^>]*> 4aaffabc 	vadda\.yw	\$ACCyw,\$vf31yw,\$vf15yw
 [0-9a-f]+ <[^>]*> 4abffabc 	vadda\.yw	\$ACCyw,\$vf31yw,\$vf31yw
 [0-9a-f]+ <[^>]*> 4b00003d 	vadday\.x	\$ACCx,\$vf0x,\$vf0y
 [0-9a-f]+ <[^>]*> 4b1f003d 	vadday\.x	\$ACCx,\$vf0x,\$vf31y
@@ -510,10 +510,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4aeff83d 	vadday\.yzw	\$ACCyzw,\$vf31yzw,\$vf15y
 [0-9a-f]+ <[^>]*> 4afff83d 	vadday\.yzw	\$ACCyzw,\$vf31yzw,\$vf31y
 [0-9a-f]+ <[^>]*> 4ac002bc 	vadda\.yz	\$ACCyz,\$vf0yz,\$vf0yz
-[0-9a-f]+ <[^>]*> 4ac0fabc 	vadda\.yz	\$ACCyz,\$vf0yz,\$vf31yz
-[0-9a-f]+ <[^>]*> 4ac112bc 	vadda\.yz	\$ACCyz,\$vf1yz,\$vf2yz
-[0-9a-f]+ <[^>]*> 4adf02bc 	vadda\.yz	\$ACCyz,\$vf31yz,\$vf0yz
-[0-9a-f]+ <[^>]*> 4adf7abc 	vadda\.yz	\$ACCyz,\$vf31yz,\$vf15yz
+[0-9a-f]+ <[^>]*> 4adf02bc 	vadda\.yz	\$ACCyz,\$vf0yz,\$vf31yz
+[0-9a-f]+ <[^>]*> 4ac20abc 	vadda\.yz	\$ACCyz,\$vf1yz,\$vf2yz
+[0-9a-f]+ <[^>]*> 4ac0fabc 	vadda\.yz	\$ACCyz,\$vf31yz,\$vf0yz
+[0-9a-f]+ <[^>]*> 4acffabc 	vadda\.yz	\$ACCyz,\$vf31yz,\$vf15yz
 [0-9a-f]+ <[^>]*> 4adffabc 	vadda\.yz	\$ACCyz,\$vf31yz,\$vf31yz
 [0-9a-f]+ <[^>]*> 4a40003d 	vadday\.z	\$ACCz,\$vf0z,\$vf0y
 [0-9a-f]+ <[^>]*> 4a5f003d 	vadday\.z	\$ACCz,\$vf0z,\$vf31y
@@ -522,10 +522,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a4ff83d 	vadday\.z	\$ACCz,\$vf31z,\$vf15y
 [0-9a-f]+ <[^>]*> 4a5ff83d 	vadday\.z	\$ACCz,\$vf31z,\$vf31y
 [0-9a-f]+ <[^>]*> 4ae002bc 	vadda\.yzw	\$ACCyzw,\$vf0yzw,\$vf0yzw
-[0-9a-f]+ <[^>]*> 4ae0fabc 	vadda\.yzw	\$ACCyzw,\$vf0yzw,\$vf31yzw
-[0-9a-f]+ <[^>]*> 4ae112bc 	vadda\.yzw	\$ACCyzw,\$vf1yzw,\$vf2yzw
-[0-9a-f]+ <[^>]*> 4aff02bc 	vadda\.yzw	\$ACCyzw,\$vf31yzw,\$vf0yzw
-[0-9a-f]+ <[^>]*> 4aff7abc 	vadda\.yzw	\$ACCyzw,\$vf31yzw,\$vf15yzw
+[0-9a-f]+ <[^>]*> 4aff02bc 	vadda\.yzw	\$ACCyzw,\$vf0yzw,\$vf31yzw
+[0-9a-f]+ <[^>]*> 4ae20abc 	vadda\.yzw	\$ACCyzw,\$vf1yzw,\$vf2yzw
+[0-9a-f]+ <[^>]*> 4ae0fabc 	vadda\.yzw	\$ACCyzw,\$vf31yzw,\$vf0yzw
+[0-9a-f]+ <[^>]*> 4aeffabc 	vadda\.yzw	\$ACCyzw,\$vf31yzw,\$vf15yzw
 [0-9a-f]+ <[^>]*> 4afffabc 	vadda\.yzw	\$ACCyzw,\$vf31yzw,\$vf31yzw
 [0-9a-f]+ <[^>]*> 4a60003d 	vadday\.zw	\$ACCzw,\$vf0zw,\$vf0y
 [0-9a-f]+ <[^>]*> 4a7f003d 	vadday\.zw	\$ACCzw,\$vf0zw,\$vf31y
@@ -534,10 +534,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a6ff83d 	vadday\.zw	\$ACCzw,\$vf31zw,\$vf15y
 [0-9a-f]+ <[^>]*> 4a7ff83d 	vadday\.zw	\$ACCzw,\$vf31zw,\$vf31y
 [0-9a-f]+ <[^>]*> 4a4002bc 	vadda\.z	\$ACCz,\$vf0z,\$vf0z
-[0-9a-f]+ <[^>]*> 4a40fabc 	vadda\.z	\$ACCz,\$vf0z,\$vf31z
-[0-9a-f]+ <[^>]*> 4a4112bc 	vadda\.z	\$ACCz,\$vf1z,\$vf2z
-[0-9a-f]+ <[^>]*> 4a5f02bc 	vadda\.z	\$ACCz,\$vf31z,\$vf0z
-[0-9a-f]+ <[^>]*> 4a5f7abc 	vadda\.z	\$ACCz,\$vf31z,\$vf15z
+[0-9a-f]+ <[^>]*> 4a5f02bc 	vadda\.z	\$ACCz,\$vf0z,\$vf31z
+[0-9a-f]+ <[^>]*> 4a420abc 	vadda\.z	\$ACCz,\$vf1z,\$vf2z
+[0-9a-f]+ <[^>]*> 4a40fabc 	vadda\.z	\$ACCz,\$vf31z,\$vf0z
+[0-9a-f]+ <[^>]*> 4a4ffabc 	vadda\.z	\$ACCz,\$vf31z,\$vf15z
 [0-9a-f]+ <[^>]*> 4a5ffabc 	vadda\.z	\$ACCz,\$vf31z,\$vf31z
 [0-9a-f]+ <[^>]*> 4a20003e 	vaddaz\.w	\$ACCw,\$vf0w,\$vf0z
 [0-9a-f]+ <[^>]*> 4a3f003e 	vaddaz\.w	\$ACCw,\$vf0w,\$vf31z
@@ -546,10 +546,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a2ff83e 	vaddaz\.w	\$ACCw,\$vf31w,\$vf15z
 [0-9a-f]+ <[^>]*> 4a3ff83e 	vaddaz\.w	\$ACCw,\$vf31w,\$vf31z
 [0-9a-f]+ <[^>]*> 4a6002bc 	vadda\.zw	\$ACCzw,\$vf0zw,\$vf0zw
-[0-9a-f]+ <[^>]*> 4a60fabc 	vadda\.zw	\$ACCzw,\$vf0zw,\$vf31zw
-[0-9a-f]+ <[^>]*> 4a6112bc 	vadda\.zw	\$ACCzw,\$vf1zw,\$vf2zw
-[0-9a-f]+ <[^>]*> 4a7f02bc 	vadda\.zw	\$ACCzw,\$vf31zw,\$vf0zw
-[0-9a-f]+ <[^>]*> 4a7f7abc 	vadda\.zw	\$ACCzw,\$vf31zw,\$vf15zw
+[0-9a-f]+ <[^>]*> 4a7f02bc 	vadda\.zw	\$ACCzw,\$vf0zw,\$vf31zw
+[0-9a-f]+ <[^>]*> 4a620abc 	vadda\.zw	\$ACCzw,\$vf1zw,\$vf2zw
+[0-9a-f]+ <[^>]*> 4a60fabc 	vadda\.zw	\$ACCzw,\$vf31zw,\$vf0zw
+[0-9a-f]+ <[^>]*> 4a6ffabc 	vadda\.zw	\$ACCzw,\$vf31zw,\$vf15zw
 [0-9a-f]+ <[^>]*> 4a7ffabc 	vadda\.zw	\$ACCzw,\$vf31zw,\$vf31zw
 [0-9a-f]+ <[^>]*> 4b00003e 	vaddaz\.x	\$ACCx,\$vf0x,\$vf0z
 [0-9a-f]+ <[^>]*> 4b1f003e 	vaddaz\.x	\$ACCx,\$vf0x,\$vf31z
@@ -5210,10 +5210,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a600a7d 	vmsubaq\.zw	\$ACCzw,\$vf1zw,\$Q
 [0-9a-f]+ <[^>]*> 4a60fa7d 	vmsubaq\.zw	\$ACCzw,\$vf31zw,\$Q
 [0-9a-f]+ <[^>]*> 4a2002fd 	vmsuba\.w	\$ACCw,\$vf0w,\$vf0w
-[0-9a-f]+ <[^>]*> 4a20fafd 	vmsuba\.w	\$ACCw,\$vf0w,\$vf31w
-[0-9a-f]+ <[^>]*> 4a2112fd 	vmsuba\.w	\$ACCw,\$vf1w,\$vf2w
-[0-9a-f]+ <[^>]*> 4a3f02fd 	vmsuba\.w	\$ACCw,\$vf31w,\$vf0w
-[0-9a-f]+ <[^>]*> 4a3f7afd 	vmsuba\.w	\$ACCw,\$vf31w,\$vf15w
+[0-9a-f]+ <[^>]*> 4a3f02fd 	vmsuba\.w	\$ACCw,\$vf0w,\$vf31w
+[0-9a-f]+ <[^>]*> 4a220afd 	vmsuba\.w	\$ACCw,\$vf1w,\$vf2w
+[0-9a-f]+ <[^>]*> 4a20fafd 	vmsuba\.w	\$ACCw,\$vf31w,\$vf0w
+[0-9a-f]+ <[^>]*> 4a2ffafd 	vmsuba\.w	\$ACCw,\$vf31w,\$vf15w
 [0-9a-f]+ <[^>]*> 4a3ffafd 	vmsuba\.w	\$ACCw,\$vf31w,\$vf31w
 [0-9a-f]+ <[^>]*> 4a2000ff 	vmsubaw\.w	\$ACCw,\$vf0w,\$vf0w
 [0-9a-f]+ <[^>]*> 4a3f00ff 	vmsubaw\.w	\$ACCw,\$vf0w,\$vf31w
@@ -5306,10 +5306,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a6ff8ff 	vmsubaw\.zw	\$ACCzw,\$vf31zw,\$vf15w
 [0-9a-f]+ <[^>]*> 4a7ff8ff 	vmsubaw\.zw	\$ACCzw,\$vf31zw,\$vf31w
 [0-9a-f]+ <[^>]*> 4b0002fd 	vmsuba\.x	\$ACCx,\$vf0x,\$vf0x
-[0-9a-f]+ <[^>]*> 4b00fafd 	vmsuba\.x	\$ACCx,\$vf0x,\$vf31x
-[0-9a-f]+ <[^>]*> 4b0112fd 	vmsuba\.x	\$ACCx,\$vf1x,\$vf2x
-[0-9a-f]+ <[^>]*> 4b1f02fd 	vmsuba\.x	\$ACCx,\$vf31x,\$vf0x
-[0-9a-f]+ <[^>]*> 4b1f7afd 	vmsuba\.x	\$ACCx,\$vf31x,\$vf15x
+[0-9a-f]+ <[^>]*> 4b1f02fd 	vmsuba\.x	\$ACCx,\$vf0x,\$vf31x
+[0-9a-f]+ <[^>]*> 4b020afd 	vmsuba\.x	\$ACCx,\$vf1x,\$vf2x
+[0-9a-f]+ <[^>]*> 4b00fafd 	vmsuba\.x	\$ACCx,\$vf31x,\$vf0x
+[0-9a-f]+ <[^>]*> 4b0ffafd 	vmsuba\.x	\$ACCx,\$vf31x,\$vf15x
 [0-9a-f]+ <[^>]*> 4b1ffafd 	vmsuba\.x	\$ACCx,\$vf31x,\$vf31x
 [0-9a-f]+ <[^>]*> 4a2000fc 	vmsubax\.w	\$ACCw,\$vf0w,\$vf0x
 [0-9a-f]+ <[^>]*> 4a3f00fc 	vmsubax\.w	\$ACCw,\$vf0w,\$vf31x
@@ -5318,10 +5318,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a2ff8fc 	vmsubax\.w	\$ACCw,\$vf31w,\$vf15x
 [0-9a-f]+ <[^>]*> 4a3ff8fc 	vmsubax\.w	\$ACCw,\$vf31w,\$vf31x
 [0-9a-f]+ <[^>]*> 4b2002fd 	vmsuba\.xw	\$ACCxw,\$vf0xw,\$vf0xw
-[0-9a-f]+ <[^>]*> 4b20fafd 	vmsuba\.xw	\$ACCxw,\$vf0xw,\$vf31xw
-[0-9a-f]+ <[^>]*> 4b2112fd 	vmsuba\.xw	\$ACCxw,\$vf1xw,\$vf2xw
-[0-9a-f]+ <[^>]*> 4b3f02fd 	vmsuba\.xw	\$ACCxw,\$vf31xw,\$vf0xw
-[0-9a-f]+ <[^>]*> 4b3f7afd 	vmsuba\.xw	\$ACCxw,\$vf31xw,\$vf15xw
+[0-9a-f]+ <[^>]*> 4b3f02fd 	vmsuba\.xw	\$ACCxw,\$vf0xw,\$vf31xw
+[0-9a-f]+ <[^>]*> 4b220afd 	vmsuba\.xw	\$ACCxw,\$vf1xw,\$vf2xw
+[0-9a-f]+ <[^>]*> 4b20fafd 	vmsuba\.xw	\$ACCxw,\$vf31xw,\$vf0xw
+[0-9a-f]+ <[^>]*> 4b2ffafd 	vmsuba\.xw	\$ACCxw,\$vf31xw,\$vf15xw
 [0-9a-f]+ <[^>]*> 4b3ffafd 	vmsuba\.xw	\$ACCxw,\$vf31xw,\$vf31xw
 [0-9a-f]+ <[^>]*> 4b0000fc 	vmsubax\.x	\$ACCx,\$vf0x,\$vf0x
 [0-9a-f]+ <[^>]*> 4b1f00fc 	vmsubax\.x	\$ACCx,\$vf0x,\$vf31x
@@ -5372,10 +5372,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4b6ff8fc 	vmsubax\.xzw	\$ACCxzw,\$vf31xzw,\$vf15x
 [0-9a-f]+ <[^>]*> 4b7ff8fc 	vmsubax\.xzw	\$ACCxzw,\$vf31xzw,\$vf31x
 [0-9a-f]+ <[^>]*> 4b8002fd 	vmsuba\.xy	\$ACCxy,\$vf0xy,\$vf0xy
-[0-9a-f]+ <[^>]*> 4b80fafd 	vmsuba\.xy	\$ACCxy,\$vf0xy,\$vf31xy
-[0-9a-f]+ <[^>]*> 4b8112fd 	vmsuba\.xy	\$ACCxy,\$vf1xy,\$vf2xy
-[0-9a-f]+ <[^>]*> 4b9f02fd 	vmsuba\.xy	\$ACCxy,\$vf31xy,\$vf0xy
-[0-9a-f]+ <[^>]*> 4b9f7afd 	vmsuba\.xy	\$ACCxy,\$vf31xy,\$vf15xy
+[0-9a-f]+ <[^>]*> 4b9f02fd 	vmsuba\.xy	\$ACCxy,\$vf0xy,\$vf31xy
+[0-9a-f]+ <[^>]*> 4b820afd 	vmsuba\.xy	\$ACCxy,\$vf1xy,\$vf2xy
+[0-9a-f]+ <[^>]*> 4b80fafd 	vmsuba\.xy	\$ACCxy,\$vf31xy,\$vf0xy
+[0-9a-f]+ <[^>]*> 4b8ffafd 	vmsuba\.xy	\$ACCxy,\$vf31xy,\$vf15xy
 [0-9a-f]+ <[^>]*> 4b9ffafd 	vmsuba\.xy	\$ACCxy,\$vf31xy,\$vf31xy
 [0-9a-f]+ <[^>]*> 4a8000fc 	vmsubax\.y	\$ACCy,\$vf0y,\$vf0x
 [0-9a-f]+ <[^>]*> 4a9f00fc 	vmsubax\.y	\$ACCy,\$vf0y,\$vf31x
@@ -5384,10 +5384,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a8ff8fc 	vmsubax\.y	\$ACCy,\$vf31y,\$vf15x
 [0-9a-f]+ <[^>]*> 4a9ff8fc 	vmsubax\.y	\$ACCy,\$vf31y,\$vf31x
 [0-9a-f]+ <[^>]*> 4ba002fd 	vmsuba\.xyw	\$ACCxyw,\$vf0xyw,\$vf0xyw
-[0-9a-f]+ <[^>]*> 4ba0fafd 	vmsuba\.xyw	\$ACCxyw,\$vf0xyw,\$vf31xyw
-[0-9a-f]+ <[^>]*> 4ba112fd 	vmsuba\.xyw	\$ACCxyw,\$vf1xyw,\$vf2xyw
-[0-9a-f]+ <[^>]*> 4bbf02fd 	vmsuba\.xyw	\$ACCxyw,\$vf31xyw,\$vf0xyw
-[0-9a-f]+ <[^>]*> 4bbf7afd 	vmsuba\.xyw	\$ACCxyw,\$vf31xyw,\$vf15xyw
+[0-9a-f]+ <[^>]*> 4bbf02fd 	vmsuba\.xyw	\$ACCxyw,\$vf0xyw,\$vf31xyw
+[0-9a-f]+ <[^>]*> 4ba20afd 	vmsuba\.xyw	\$ACCxyw,\$vf1xyw,\$vf2xyw
+[0-9a-f]+ <[^>]*> 4ba0fafd 	vmsuba\.xyw	\$ACCxyw,\$vf31xyw,\$vf0xyw
+[0-9a-f]+ <[^>]*> 4baffafd 	vmsuba\.xyw	\$ACCxyw,\$vf31xyw,\$vf15xyw
 [0-9a-f]+ <[^>]*> 4bbffafd 	vmsuba\.xyw	\$ACCxyw,\$vf31xyw,\$vf31xyw
 [0-9a-f]+ <[^>]*> 4aa000fc 	vmsubax\.yw	\$ACCyw,\$vf0yw,\$vf0x
 [0-9a-f]+ <[^>]*> 4abf00fc 	vmsubax\.yw	\$ACCyw,\$vf0yw,\$vf31x
@@ -5396,10 +5396,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4aaff8fc 	vmsubax\.yw	\$ACCyw,\$vf31yw,\$vf15x
 [0-9a-f]+ <[^>]*> 4abff8fc 	vmsubax\.yw	\$ACCyw,\$vf31yw,\$vf31x
 [0-9a-f]+ <[^>]*> 4bc002fd 	vmsuba\.xyz	\$ACCxyz,\$vf0xyz,\$vf0xyz
-[0-9a-f]+ <[^>]*> 4bc0fafd 	vmsuba\.xyz	\$ACCxyz,\$vf0xyz,\$vf31xyz
-[0-9a-f]+ <[^>]*> 4bc112fd 	vmsuba\.xyz	\$ACCxyz,\$vf1xyz,\$vf2xyz
-[0-9a-f]+ <[^>]*> 4bdf02fd 	vmsuba\.xyz	\$ACCxyz,\$vf31xyz,\$vf0xyz
-[0-9a-f]+ <[^>]*> 4bdf7afd 	vmsuba\.xyz	\$ACCxyz,\$vf31xyz,\$vf15xyz
+[0-9a-f]+ <[^>]*> 4bdf02fd 	vmsuba\.xyz	\$ACCxyz,\$vf0xyz,\$vf31xyz
+[0-9a-f]+ <[^>]*> 4bc20afd 	vmsuba\.xyz	\$ACCxyz,\$vf1xyz,\$vf2xyz
+[0-9a-f]+ <[^>]*> 4bc0fafd 	vmsuba\.xyz	\$ACCxyz,\$vf31xyz,\$vf0xyz
+[0-9a-f]+ <[^>]*> 4bcffafd 	vmsuba\.xyz	\$ACCxyz,\$vf31xyz,\$vf15xyz
 [0-9a-f]+ <[^>]*> 4bdffafd 	vmsuba\.xyz	\$ACCxyz,\$vf31xyz,\$vf31xyz
 [0-9a-f]+ <[^>]*> 4ac000fc 	vmsubax\.yz	\$ACCyz,\$vf0yz,\$vf0x
 [0-9a-f]+ <[^>]*> 4adf00fc 	vmsubax\.yz	\$ACCyz,\$vf0yz,\$vf31x
@@ -5408,10 +5408,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4acff8fc 	vmsubax\.yz	\$ACCyz,\$vf31yz,\$vf15x
 [0-9a-f]+ <[^>]*> 4adff8fc 	vmsubax\.yz	\$ACCyz,\$vf31yz,\$vf31x
 [0-9a-f]+ <[^>]*> 4be002fd 	vmsuba\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf0xyzw
-[0-9a-f]+ <[^>]*> 4be0fafd 	vmsuba\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf31xyzw
-[0-9a-f]+ <[^>]*> 4be112fd 	vmsuba\.xyzw	\$ACCxyzw,\$vf1xyzw,\$vf2xyzw
-[0-9a-f]+ <[^>]*> 4bff02fd 	vmsuba\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf0xyzw
-[0-9a-f]+ <[^>]*> 4bff7afd 	vmsuba\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf15xyzw
+[0-9a-f]+ <[^>]*> 4bff02fd 	vmsuba\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf31xyzw
+[0-9a-f]+ <[^>]*> 4be20afd 	vmsuba\.xyzw	\$ACCxyzw,\$vf1xyzw,\$vf2xyzw
+[0-9a-f]+ <[^>]*> 4be0fafd 	vmsuba\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf0xyzw
+[0-9a-f]+ <[^>]*> 4beffafd 	vmsuba\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf15xyzw
 [0-9a-f]+ <[^>]*> 4bfffafd 	vmsuba\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf31xyzw
 [0-9a-f]+ <[^>]*> 4ae000fc 	vmsubax\.yzw	\$ACCyzw,\$vf0yzw,\$vf0x
 [0-9a-f]+ <[^>]*> 4aff00fc 	vmsubax\.yzw	\$ACCyzw,\$vf0yzw,\$vf31x
@@ -5420,10 +5420,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4aeff8fc 	vmsubax\.yzw	\$ACCyzw,\$vf31yzw,\$vf15x
 [0-9a-f]+ <[^>]*> 4afff8fc 	vmsubax\.yzw	\$ACCyzw,\$vf31yzw,\$vf31x
 [0-9a-f]+ <[^>]*> 4b4002fd 	vmsuba\.xz	\$ACCxz,\$vf0xz,\$vf0xz
-[0-9a-f]+ <[^>]*> 4b40fafd 	vmsuba\.xz	\$ACCxz,\$vf0xz,\$vf31xz
-[0-9a-f]+ <[^>]*> 4b4112fd 	vmsuba\.xz	\$ACCxz,\$vf1xz,\$vf2xz
-[0-9a-f]+ <[^>]*> 4b5f02fd 	vmsuba\.xz	\$ACCxz,\$vf31xz,\$vf0xz
-[0-9a-f]+ <[^>]*> 4b5f7afd 	vmsuba\.xz	\$ACCxz,\$vf31xz,\$vf15xz
+[0-9a-f]+ <[^>]*> 4b5f02fd 	vmsuba\.xz	\$ACCxz,\$vf0xz,\$vf31xz
+[0-9a-f]+ <[^>]*> 4b420afd 	vmsuba\.xz	\$ACCxz,\$vf1xz,\$vf2xz
+[0-9a-f]+ <[^>]*> 4b40fafd 	vmsuba\.xz	\$ACCxz,\$vf31xz,\$vf0xz
+[0-9a-f]+ <[^>]*> 4b4ffafd 	vmsuba\.xz	\$ACCxz,\$vf31xz,\$vf15xz
 [0-9a-f]+ <[^>]*> 4b5ffafd 	vmsuba\.xz	\$ACCxz,\$vf31xz,\$vf31xz
 [0-9a-f]+ <[^>]*> 4a4000fc 	vmsubax\.z	\$ACCz,\$vf0z,\$vf0x
 [0-9a-f]+ <[^>]*> 4a5f00fc 	vmsubax\.z	\$ACCz,\$vf0z,\$vf31x
@@ -5432,10 +5432,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a4ff8fc 	vmsubax\.z	\$ACCz,\$vf31z,\$vf15x
 [0-9a-f]+ <[^>]*> 4a5ff8fc 	vmsubax\.z	\$ACCz,\$vf31z,\$vf31x
 [0-9a-f]+ <[^>]*> 4b6002fd 	vmsuba\.xzw	\$ACCxzw,\$vf0xzw,\$vf0xzw
-[0-9a-f]+ <[^>]*> 4b60fafd 	vmsuba\.xzw	\$ACCxzw,\$vf0xzw,\$vf31xzw
-[0-9a-f]+ <[^>]*> 4b6112fd 	vmsuba\.xzw	\$ACCxzw,\$vf1xzw,\$vf2xzw
-[0-9a-f]+ <[^>]*> 4b7f02fd 	vmsuba\.xzw	\$ACCxzw,\$vf31xzw,\$vf0xzw
-[0-9a-f]+ <[^>]*> 4b7f7afd 	vmsuba\.xzw	\$ACCxzw,\$vf31xzw,\$vf15xzw
+[0-9a-f]+ <[^>]*> 4b7f02fd 	vmsuba\.xzw	\$ACCxzw,\$vf0xzw,\$vf31xzw
+[0-9a-f]+ <[^>]*> 4b620afd 	vmsuba\.xzw	\$ACCxzw,\$vf1xzw,\$vf2xzw
+[0-9a-f]+ <[^>]*> 4b60fafd 	vmsuba\.xzw	\$ACCxzw,\$vf31xzw,\$vf0xzw
+[0-9a-f]+ <[^>]*> 4b6ffafd 	vmsuba\.xzw	\$ACCxzw,\$vf31xzw,\$vf15xzw
 [0-9a-f]+ <[^>]*> 4b7ffafd 	vmsuba\.xzw	\$ACCxzw,\$vf31xzw,\$vf31xzw
 [0-9a-f]+ <[^>]*> 4a6000fc 	vmsubax\.zw	\$ACCzw,\$vf0zw,\$vf0x
 [0-9a-f]+ <[^>]*> 4a7f00fc 	vmsubax\.zw	\$ACCzw,\$vf0zw,\$vf31x
@@ -5444,10 +5444,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a6ff8fc 	vmsubax\.zw	\$ACCzw,\$vf31zw,\$vf15x
 [0-9a-f]+ <[^>]*> 4a7ff8fc 	vmsubax\.zw	\$ACCzw,\$vf31zw,\$vf31x
 [0-9a-f]+ <[^>]*> 4a8002fd 	vmsuba\.y	\$ACCy,\$vf0y,\$vf0y
-[0-9a-f]+ <[^>]*> 4a80fafd 	vmsuba\.y	\$ACCy,\$vf0y,\$vf31y
-[0-9a-f]+ <[^>]*> 4a8112fd 	vmsuba\.y	\$ACCy,\$vf1y,\$vf2y
-[0-9a-f]+ <[^>]*> 4a9f02fd 	vmsuba\.y	\$ACCy,\$vf31y,\$vf0y
-[0-9a-f]+ <[^>]*> 4a9f7afd 	vmsuba\.y	\$ACCy,\$vf31y,\$vf15y
+[0-9a-f]+ <[^>]*> 4a9f02fd 	vmsuba\.y	\$ACCy,\$vf0y,\$vf31y
+[0-9a-f]+ <[^>]*> 4a820afd 	vmsuba\.y	\$ACCy,\$vf1y,\$vf2y
+[0-9a-f]+ <[^>]*> 4a80fafd 	vmsuba\.y	\$ACCy,\$vf31y,\$vf0y
+[0-9a-f]+ <[^>]*> 4a8ffafd 	vmsuba\.y	\$ACCy,\$vf31y,\$vf15y
 [0-9a-f]+ <[^>]*> 4a9ffafd 	vmsuba\.y	\$ACCy,\$vf31y,\$vf31y
 [0-9a-f]+ <[^>]*> 4a2000fd 	vmsubay\.w	\$ACCw,\$vf0w,\$vf0y
 [0-9a-f]+ <[^>]*> 4a3f00fd 	vmsubay\.w	\$ACCw,\$vf0w,\$vf31y
@@ -5456,10 +5456,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a2ff8fd 	vmsubay\.w	\$ACCw,\$vf31w,\$vf15y
 [0-9a-f]+ <[^>]*> 4a3ff8fd 	vmsubay\.w	\$ACCw,\$vf31w,\$vf31y
 [0-9a-f]+ <[^>]*> 4aa002fd 	vmsuba\.yw	\$ACCyw,\$vf0yw,\$vf0yw
-[0-9a-f]+ <[^>]*> 4aa0fafd 	vmsuba\.yw	\$ACCyw,\$vf0yw,\$vf31yw
-[0-9a-f]+ <[^>]*> 4aa112fd 	vmsuba\.yw	\$ACCyw,\$vf1yw,\$vf2yw
-[0-9a-f]+ <[^>]*> 4abf02fd 	vmsuba\.yw	\$ACCyw,\$vf31yw,\$vf0yw
-[0-9a-f]+ <[^>]*> 4abf7afd 	vmsuba\.yw	\$ACCyw,\$vf31yw,\$vf15yw
+[0-9a-f]+ <[^>]*> 4abf02fd 	vmsuba\.yw	\$ACCyw,\$vf0yw,\$vf31yw
+[0-9a-f]+ <[^>]*> 4aa20afd 	vmsuba\.yw	\$ACCyw,\$vf1yw,\$vf2yw
+[0-9a-f]+ <[^>]*> 4aa0fafd 	vmsuba\.yw	\$ACCyw,\$vf31yw,\$vf0yw
+[0-9a-f]+ <[^>]*> 4aaffafd 	vmsuba\.yw	\$ACCyw,\$vf31yw,\$vf15yw
 [0-9a-f]+ <[^>]*> 4abffafd 	vmsuba\.yw	\$ACCyw,\$vf31yw,\$vf31yw
 [0-9a-f]+ <[^>]*> 4b0000fd 	vmsubay\.x	\$ACCx,\$vf0x,\$vf0y
 [0-9a-f]+ <[^>]*> 4b1f00fd 	vmsubay\.x	\$ACCx,\$vf0x,\$vf31y
@@ -5534,10 +5534,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4aeff8fd 	vmsubay\.yzw	\$ACCyzw,\$vf31yzw,\$vf15y
 [0-9a-f]+ <[^>]*> 4afff8fd 	vmsubay\.yzw	\$ACCyzw,\$vf31yzw,\$vf31y
 [0-9a-f]+ <[^>]*> 4ac002fd 	vmsuba\.yz	\$ACCyz,\$vf0yz,\$vf0yz
-[0-9a-f]+ <[^>]*> 4ac0fafd 	vmsuba\.yz	\$ACCyz,\$vf0yz,\$vf31yz
-[0-9a-f]+ <[^>]*> 4ac112fd 	vmsuba\.yz	\$ACCyz,\$vf1yz,\$vf2yz
-[0-9a-f]+ <[^>]*> 4adf02fd 	vmsuba\.yz	\$ACCyz,\$vf31yz,\$vf0yz
-[0-9a-f]+ <[^>]*> 4adf7afd 	vmsuba\.yz	\$ACCyz,\$vf31yz,\$vf15yz
+[0-9a-f]+ <[^>]*> 4adf02fd 	vmsuba\.yz	\$ACCyz,\$vf0yz,\$vf31yz
+[0-9a-f]+ <[^>]*> 4ac20afd 	vmsuba\.yz	\$ACCyz,\$vf1yz,\$vf2yz
+[0-9a-f]+ <[^>]*> 4ac0fafd 	vmsuba\.yz	\$ACCyz,\$vf31yz,\$vf0yz
+[0-9a-f]+ <[^>]*> 4acffafd 	vmsuba\.yz	\$ACCyz,\$vf31yz,\$vf15yz
 [0-9a-f]+ <[^>]*> 4adffafd 	vmsuba\.yz	\$ACCyz,\$vf31yz,\$vf31yz
 [0-9a-f]+ <[^>]*> 4a4000fd 	vmsubay\.z	\$ACCz,\$vf0z,\$vf0y
 [0-9a-f]+ <[^>]*> 4a5f00fd 	vmsubay\.z	\$ACCz,\$vf0z,\$vf31y
@@ -5546,10 +5546,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a4ff8fd 	vmsubay\.z	\$ACCz,\$vf31z,\$vf15y
 [0-9a-f]+ <[^>]*> 4a5ff8fd 	vmsubay\.z	\$ACCz,\$vf31z,\$vf31y
 [0-9a-f]+ <[^>]*> 4ae002fd 	vmsuba\.yzw	\$ACCyzw,\$vf0yzw,\$vf0yzw
-[0-9a-f]+ <[^>]*> 4ae0fafd 	vmsuba\.yzw	\$ACCyzw,\$vf0yzw,\$vf31yzw
-[0-9a-f]+ <[^>]*> 4ae112fd 	vmsuba\.yzw	\$ACCyzw,\$vf1yzw,\$vf2yzw
-[0-9a-f]+ <[^>]*> 4aff02fd 	vmsuba\.yzw	\$ACCyzw,\$vf31yzw,\$vf0yzw
-[0-9a-f]+ <[^>]*> 4aff7afd 	vmsuba\.yzw	\$ACCyzw,\$vf31yzw,\$vf15yzw
+[0-9a-f]+ <[^>]*> 4aff02fd 	vmsuba\.yzw	\$ACCyzw,\$vf0yzw,\$vf31yzw
+[0-9a-f]+ <[^>]*> 4ae20afd 	vmsuba\.yzw	\$ACCyzw,\$vf1yzw,\$vf2yzw
+[0-9a-f]+ <[^>]*> 4ae0fafd 	vmsuba\.yzw	\$ACCyzw,\$vf31yzw,\$vf0yzw
+[0-9a-f]+ <[^>]*> 4aeffafd 	vmsuba\.yzw	\$ACCyzw,\$vf31yzw,\$vf15yzw
 [0-9a-f]+ <[^>]*> 4afffafd 	vmsuba\.yzw	\$ACCyzw,\$vf31yzw,\$vf31yzw
 [0-9a-f]+ <[^>]*> 4a6000fd 	vmsubay\.zw	\$ACCzw,\$vf0zw,\$vf0y
 [0-9a-f]+ <[^>]*> 4a7f00fd 	vmsubay\.zw	\$ACCzw,\$vf0zw,\$vf31y
@@ -5558,10 +5558,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a6ff8fd 	vmsubay\.zw	\$ACCzw,\$vf31zw,\$vf15y
 [0-9a-f]+ <[^>]*> 4a7ff8fd 	vmsubay\.zw	\$ACCzw,\$vf31zw,\$vf31y
 [0-9a-f]+ <[^>]*> 4a4002fd 	vmsuba\.z	\$ACCz,\$vf0z,\$vf0z
-[0-9a-f]+ <[^>]*> 4a40fafd 	vmsuba\.z	\$ACCz,\$vf0z,\$vf31z
-[0-9a-f]+ <[^>]*> 4a4112fd 	vmsuba\.z	\$ACCz,\$vf1z,\$vf2z
-[0-9a-f]+ <[^>]*> 4a5f02fd 	vmsuba\.z	\$ACCz,\$vf31z,\$vf0z
-[0-9a-f]+ <[^>]*> 4a5f7afd 	vmsuba\.z	\$ACCz,\$vf31z,\$vf15z
+[0-9a-f]+ <[^>]*> 4a5f02fd 	vmsuba\.z	\$ACCz,\$vf0z,\$vf31z
+[0-9a-f]+ <[^>]*> 4a420afd 	vmsuba\.z	\$ACCz,\$vf1z,\$vf2z
+[0-9a-f]+ <[^>]*> 4a40fafd 	vmsuba\.z	\$ACCz,\$vf31z,\$vf0z
+[0-9a-f]+ <[^>]*> 4a4ffafd 	vmsuba\.z	\$ACCz,\$vf31z,\$vf15z
 [0-9a-f]+ <[^>]*> 4a5ffafd 	vmsuba\.z	\$ACCz,\$vf31z,\$vf31z
 [0-9a-f]+ <[^>]*> 4a2000fe 	vmsubaz\.w	\$ACCw,\$vf0w,\$vf0z
 [0-9a-f]+ <[^>]*> 4a3f00fe 	vmsubaz\.w	\$ACCw,\$vf0w,\$vf31z
@@ -5570,10 +5570,10 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4a2ff8fe 	vmsubaz\.w	\$ACCw,\$vf31w,\$vf15z
 [0-9a-f]+ <[^>]*> 4a3ff8fe 	vmsubaz\.w	\$ACCw,\$vf31w,\$vf31z
 [0-9a-f]+ <[^>]*> 4a6002fd 	vmsuba\.zw	\$ACCzw,\$vf0zw,\$vf0zw
-[0-9a-f]+ <[^>]*> 4a60fafd 	vmsuba\.zw	\$ACCzw,\$vf0zw,\$vf31zw
-[0-9a-f]+ <[^>]*> 4a6112fd 	vmsuba\.zw	\$ACCzw,\$vf1zw,\$vf2zw
-[0-9a-f]+ <[^>]*> 4a7f02fd 	vmsuba\.zw	\$ACCzw,\$vf31zw,\$vf0zw
-[0-9a-f]+ <[^>]*> 4a7f7afd 	vmsuba\.zw	\$ACCzw,\$vf31zw,\$vf15zw
+[0-9a-f]+ <[^>]*> 4a7f02fd 	vmsuba\.zw	\$ACCzw,\$vf0zw,\$vf31zw
+[0-9a-f]+ <[^>]*> 4a620afd 	vmsuba\.zw	\$ACCzw,\$vf1zw,\$vf2zw
+[0-9a-f]+ <[^>]*> 4a60fafd 	vmsuba\.zw	\$ACCzw,\$vf31zw,\$vf0zw
+[0-9a-f]+ <[^>]*> 4a6ffafd 	vmsuba\.zw	\$ACCzw,\$vf31zw,\$vf15zw
 [0-9a-f]+ <[^>]*> 4a7ffafd 	vmsuba\.zw	\$ACCzw,\$vf31zw,\$vf31zw
 [0-9a-f]+ <[^>]*> 4b0000fe 	vmsubaz\.x	\$ACCx,\$vf0x,\$vf0z
 [0-9a-f]+ <[^>]*> 4b1f00fe 	vmsubaz\.x	\$ACCx,\$vf0x,\$vf31z
diff --git a/gas/testsuite/gas/mips/r5900-full-vu0.d b/gas/testsuite/gas/mips/r5900-full-vu0.d
index 8db6949f33e..805108c5b89 100644
--- a/gas/testsuite/gas/mips/r5900-full-vu0.d
+++ b/gas/testsuite/gas/mips/r5900-full-vu0.d
@@ -13,7 +13,7 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4be1fa80 	vaddx\.xyzw	\$vf10xyzw,\$vf31xyzw,\$vf1x
 [0-9a-f]+ <[^>]*> 4be1fa81 	vaddy\.xyzw	\$vf10xyzw,\$vf31xyzw,\$vf1y
 [0-9a-f]+ <[^>]*> 4be1fa82 	vaddz\.xyzw	\$vf10xyzw,\$vf31xyzw,\$vf1z
-[0-9a-f]+ <[^>]*> 4be0fabc 	vadda\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf31xyzw
+[0-9a-f]+ <[^>]*> 4bff02bc 	vadda\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf31xyzw
 [0-9a-f]+ <[^>]*> 4be0fa3e 	vaddai\.xyzw	\$ACCxyzw,\$vf31xyzw,\$I
 [0-9a-f]+ <[^>]*> 4be0fa3c 	vaddaq\.xyzw	\$ACCxyzw,\$vf31xyzw,\$Q
 [0-9a-f]+ <[^>]*> 4be1f83f 	vaddaw\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf1w
@@ -89,7 +89,7 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> 4be1fa8c 	vmsubx\.xyzw	\$vf10xyzw,\$vf31xyzw,\$vf1x
 [0-9a-f]+ <[^>]*> 4be1fa8d 	vmsuby\.xyzw	\$vf10xyzw,\$vf31xyzw,\$vf1y
 [0-9a-f]+ <[^>]*> 4be1fa8e 	vmsubz\.xyzw	\$vf10xyzw,\$vf31xyzw,\$vf1z
-[0-9a-f]+ <[^>]*> 4be0fafd 	vmsuba\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf31xyzw
+[0-9a-f]+ <[^>]*> 4bff02fd 	vmsuba\.xyzw	\$ACCxyzw,\$vf0xyzw,\$vf31xyzw
 [0-9a-f]+ <[^>]*> 4be0fa7f 	vmsubai\.xyzw	\$ACCxyzw,\$vf31xyzw,\$I
 [0-9a-f]+ <[^>]*> 4be0fa7d 	vmsubaq\.xyzw	\$ACCxyzw,\$vf31xyzw,\$Q
 [0-9a-f]+ <[^>]*> 4be1f8ff 	vmsubaw\.xyzw	\$ACCxyzw,\$vf31xyzw,\$vf1w
diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
index 1d7d72ae0a7..15899084d87 100644
--- a/opcodes/mips-opc.c
+++ b/opcodes/mips-opc.c
@@ -542,7 +542,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
 {"vaddx",		"+5+K,+6+K,+7+N", 0x4a000000, 0xfe00003f,	CP,		VU0CH,		VU0,		0,	0 },
 {"vaddy",		"+5+K,+6+K,+7+N", 0x4a000001, 0xfe00003f,	CP,		VU0CH,		VU0,		0,	0 },
 {"vaddz",		"+5+K,+6+K,+7+N", 0x4a000002, 0xfe00003f,	CP,		VU0CH,		VU0,		0,	0 },
-{"vadda",		"+m+K,+7+K,+6+K", 0x4a0002bc, 0xfe0007ff,	CP,		VU0CH,		VU0,		0,	0 },
+{"vadda",		"+m+K,+6+K,+7+K", 0x4a0002bc, 0xfe0007ff,	CP,		VU0CH,		VU0,		0,	0 },
 {"vaddai",		"+m+K,+6+K,+y",	  0x4a00023e, 0xfe1f07ff,	CP,		VU0CH,		VU0,		0,	0 },
 {"vaddaq",		"+m+K,+6+K,+q",	  0x4a00023c, 0xfe1f07ff,	CP,		VU0CH,		VU0,		0,	0 },
 {"vaddaw",		"+m+K,+6+K,+7+N", 0x4a00003f, 0xfe0007ff,	CP,		VU0CH,		VU0,		0,	0 },
@@ -613,7 +613,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
 {"vmsubx",		"+5+K,+6+K,+7+N", 0x4a00000c, 0xfe00003f,	CP,		VU0CH,		VU0,		0,	0 },
 {"vmsuby",		"+5+K,+6+K,+7+N", 0x4a00000d, 0xfe00003f,	CP,		VU0CH,		VU0,		0,	0 },
 {"vmsubz",		"+5+K,+6+K,+7+N", 0x4a00000e, 0xfe00003f,	CP,		VU0CH,		VU0,		0,	0 },
-{"vmsuba",		"+m+K,+7+K,+6+K", 0x4a0002fd, 0xfe0007ff,	CP,		VU0CH,		VU0,		0,	0 },
+{"vmsuba",		"+m+K,+6+K,+7+K", 0x4a0002fd, 0xfe0007ff,	CP,		VU0CH,		VU0,		0,	0 },
 {"vmsubai",		"+m+K,+6+K,+y",	  0x4a00027f, 0xfe1f07ff,	CP,		VU0CH,		VU0,		0,	0 },
 {"vmsubaq",		"+m+K,+6+K,+q",	  0x4a00027d, 0xfe1f07ff,	CP,		VU0CH,		VU0,		0,	0 },
 {"vmsubaw",		"+m+K,+6+K,+7+N", 0x4a0000ff, 0xfe0007ff,	CP,		VU0CH,		VU0,		0,	0 },
-- 
2.53.0