aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJin Ma <jinma@linux.alibaba.com>2023-11-18 15:07:39 +0800
committerNelson Chu <nelson@rivosinc.com>2023-11-23 09:32:03 +0800
commit1ba39b6fe595d05bbfdf7abebaea2883ddb9d717 (patch)
tree3e13fc633f0cfe9df234e7167151f93781d88f95 /gas
parent9a51da2636778dce2e2635cb10822a92a51b2b9e (diff)
downloadgdb-1ba39b6fe595d05bbfdf7abebaea2883ddb9d717.zip
gdb-1ba39b6fe595d05bbfdf7abebaea2883ddb9d717.tar.gz
gdb-1ba39b6fe595d05bbfdf7abebaea2883ddb9d717.tar.bz2
RISC-V: Add floating-point arithmetic instructions for T-Head VECTOR vendor extension
T-Head has a range of vendor-specific instructions. Therefore it makes sense to group them into smaller chunks in form of vendor extensions. This patch adds floating-point arithmetic instructions for the "XTheadVector" extension. The 'th' prefix and the "XTheadVector" extension are documented in a PR for the RISC-V toolchain conventions ([1]). [1] https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/19 Co-developed-by: Lifang Xia <lifang_xia@linux.alibaba.com> Co-developed-by: Christoph Müllner <christoph.muellner@vrull.eu> gas/ChangeLog: * testsuite/gas/riscv/x-thead-vector.d: Add tests for floating-point arithmetic instructions. * testsuite/gas/riscv/x-thead-vector.s: Likewise. include/ChangeLog: * opcode/riscv-opc.h (MATCH_TH_VFSQRTV): New. opcodes/ChangeLog: * riscv-opc.c: Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/gas/riscv/x-thead-vector.d170
-rw-r--r--gas/testsuite/gas/riscv/x-thead-vector.s188
2 files changed, 358 insertions, 0 deletions
diff --git a/gas/testsuite/gas/riscv/x-thead-vector.d b/gas/testsuite/gas/riscv/x-thead-vector.d
index bbcf6d4..178e246 100644
--- a/gas/testsuite/gas/riscv/x-thead-vector.d
+++ b/gas/testsuite/gas/riscv/x-thead-vector.d
@@ -1390,3 +1390,173 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+bc85c257[ ]+th.vnclip.vx[ ]+v4,v8,a1,v0.t
[ ]+[0-9a-f]+:[ ]+bc80b257[ ]+th.vnclip.vi[ ]+v4,v8,1,v0.t
[ ]+[0-9a-f]+:[ ]+bc8fb257[ ]+th.vnclip.vi[ ]+v4,v8,31,v0.t
+[ ]+[0-9a-f]+:[ ]+02861257[ ]+th.vfadd.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+02865257[ ]+th.vfadd.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+00861257[ ]+th.vfadd.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+00865257[ ]+th.vfadd.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+0a861257[ ]+th.vfsub.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+0a865257[ ]+th.vfsub.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+08861257[ ]+th.vfsub.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+08865257[ ]+th.vfsub.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+9e865257[ ]+th.vfrsub.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+9c865257[ ]+th.vfrsub.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+c2861257[ ]+th.vfwadd.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+c2865257[ ]+th.vfwadd.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+c0861257[ ]+th.vfwadd.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+c0865257[ ]+th.vfwadd.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+ca861257[ ]+th.vfwsub.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+ca865257[ ]+th.vfwsub.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+c8861257[ ]+th.vfwsub.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+c8865257[ ]+th.vfwsub.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+d2861257[ ]+th.vfwadd.wv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+d2865257[ ]+th.vfwadd.wf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+d0861257[ ]+th.vfwadd.wv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+d0865257[ ]+th.vfwadd.wf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+da861257[ ]+th.vfwsub.wv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+da865257[ ]+th.vfwsub.wf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+d8861257[ ]+th.vfwsub.wv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+d8865257[ ]+th.vfwsub.wf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+92861257[ ]+th.vfmul.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+92865257[ ]+th.vfmul.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+90861257[ ]+th.vfmul.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+90865257[ ]+th.vfmul.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+82861257[ ]+th.vfdiv.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+82865257[ ]+th.vfdiv.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+80861257[ ]+th.vfdiv.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+80865257[ ]+th.vfdiv.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+86865257[ ]+th.vfrdiv.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+84865257[ ]+th.vfrdiv.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+e2861257[ ]+th.vfwmul.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+e2865257[ ]+th.vfwmul.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+e0861257[ ]+th.vfwmul.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+e0865257[ ]+th.vfwmul.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+a2861257[ ]+th.vfmadd.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+a2865257[ ]+th.vfmadd.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+a6861257[ ]+th.vfnmadd.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+a6865257[ ]+th.vfnmadd.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+aa861257[ ]+th.vfmsub.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+aa865257[ ]+th.vfmsub.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+ae861257[ ]+th.vfnmsub.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+ae865257[ ]+th.vfnmsub.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+a0861257[ ]+th.vfmadd.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+a0865257[ ]+th.vfmadd.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+a4861257[ ]+th.vfnmadd.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+a4865257[ ]+th.vfnmadd.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+a8861257[ ]+th.vfmsub.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+a8865257[ ]+th.vfmsub.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+ac861257[ ]+th.vfnmsub.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+ac865257[ ]+th.vfnmsub.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+b2861257[ ]+th.vfmacc.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+b2865257[ ]+th.vfmacc.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+b6861257[ ]+th.vfnmacc.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+b6865257[ ]+th.vfnmacc.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+ba861257[ ]+th.vfmsac.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+ba865257[ ]+th.vfmsac.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+be861257[ ]+th.vfnmsac.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+be865257[ ]+th.vfnmsac.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+b0861257[ ]+th.vfmacc.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+b0865257[ ]+th.vfmacc.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+b4861257[ ]+th.vfnmacc.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+b4865257[ ]+th.vfnmacc.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+b8861257[ ]+th.vfmsac.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+b8865257[ ]+th.vfmsac.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+bc861257[ ]+th.vfnmsac.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+bc865257[ ]+th.vfnmsac.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+f2861257[ ]+th.vfwmacc.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+f2865257[ ]+th.vfwmacc.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+f6861257[ ]+th.vfwnmacc.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+f6865257[ ]+th.vfwnmacc.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+fa861257[ ]+th.vfwmsac.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+fa865257[ ]+th.vfwmsac.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+fe861257[ ]+th.vfwnmsac.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+fe865257[ ]+th.vfwnmsac.vf[ ]+v4,fa2,v8
+[ ]+[0-9a-f]+:[ ]+f0861257[ ]+th.vfwmacc.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+f0865257[ ]+th.vfwmacc.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+f4861257[ ]+th.vfwnmacc.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+f4865257[ ]+th.vfwnmacc.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+f8861257[ ]+th.vfwmsac.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+f8865257[ ]+th.vfwmsac.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+fc861257[ ]+th.vfwnmsac.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+fc865257[ ]+th.vfwnmsac.vf[ ]+v4,fa2,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+8e801257[ ]+th.vfsqrt.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8c801257[ ]+th.vfsqrt.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+12861257[ ]+th.vfmin.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+12865257[ ]+th.vfmin.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+1a861257[ ]+th.vfmax.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+1a865257[ ]+th.vfmax.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+10861257[ ]+th.vfmin.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+10865257[ ]+th.vfmin.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+18861257[ ]+th.vfmax.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+18865257[ ]+th.vfmax.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+22861257[ ]+th.vfsgnj.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+22865257[ ]+th.vfsgnj.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+26861257[ ]+th.vfsgnjn.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+26865257[ ]+th.vfsgnjn.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+2a861257[ ]+th.vfsgnjx.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+2a865257[ ]+th.vfsgnjx.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+20861257[ ]+th.vfsgnj.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+20865257[ ]+th.vfsgnj.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+24861257[ ]+th.vfsgnjn.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+24865257[ ]+th.vfsgnjn.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+28861257[ ]+th.vfsgnjx.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+28865257[ ]+th.vfsgnjx.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+6ec41257[ ]+th.vmflt.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+66c41257[ ]+th.vmfle.vv[ ]+v4,v12,v8
+[ ]+[0-9a-f]+:[ ]+6cc41257[ ]+th.vmflt.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+64c41257[ ]+th.vmfle.vv[ ]+v4,v12,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+62861257[ ]+th.vmfeq.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+62865257[ ]+th.vmfeq.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+72861257[ ]+th.vmfne.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+72865257[ ]+th.vmfne.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+6e861257[ ]+th.vmflt.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+6e865257[ ]+th.vmflt.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+66861257[ ]+th.vmfle.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+66865257[ ]+th.vmfle.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+76865257[ ]+th.vmfgt.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+7e865257[ ]+th.vmfge.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+60861257[ ]+th.vmfeq.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+60865257[ ]+th.vmfeq.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+70861257[ ]+th.vmfne.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+70865257[ ]+th.vmfne.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+6c861257[ ]+th.vmflt.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+6c865257[ ]+th.vmflt.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+64861257[ ]+th.vmfle.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+64865257[ ]+th.vmfle.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+74865257[ ]+th.vmfgt.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+7c865257[ ]+th.vmfge.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+6a861257[ ]+th.vmford.vv[ ]+v4,v8,v12
+[ ]+[0-9a-f]+:[ ]+6a865257[ ]+th.vmford.vf[ ]+v4,v8,fa2
+[ ]+[0-9a-f]+:[ ]+68861257[ ]+th.vmford.vv[ ]+v4,v8,v12,v0.t
+[ ]+[0-9a-f]+:[ ]+68865257[ ]+th.vmford.vf[ ]+v4,v8,fa2,v0.t
+[ ]+[0-9a-f]+:[ ]+8e881257[ ]+th.vfclass.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8c881257[ ]+th.vfclass.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+5c865257[ ]+th.vfmerge.vfm[ ]+v4,v8,fa2,v0
+[ ]+[0-9a-f]+:[ ]+5e05d257[ ]+th.vfmv.v.f[ ]+v4,fa1
+[ ]+[0-9a-f]+:[ ]+8a801257[ ]+th.vfcvt.xu.f.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a809257[ ]+th.vfcvt.x.f.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a811257[ ]+th.vfcvt.f.xu.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a819257[ ]+th.vfcvt.f.x.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+88801257[ ]+th.vfcvt.xu.f.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88809257[ ]+th.vfcvt.x.f.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88811257[ ]+th.vfcvt.f.xu.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88819257[ ]+th.vfcvt.f.x.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+8a841257[ ]+th.vfwcvt.xu.f.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a849257[ ]+th.vfwcvt.x.f.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a851257[ ]+th.vfwcvt.f.xu.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a859257[ ]+th.vfwcvt.f.x.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a861257[ ]+th.vfwcvt.f.f.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+88841257[ ]+th.vfwcvt.xu.f.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88849257[ ]+th.vfwcvt.x.f.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88851257[ ]+th.vfwcvt.f.xu.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88859257[ ]+th.vfwcvt.f.x.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88861257[ ]+th.vfwcvt.f.f.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+8a881257[ ]+th.vfncvt.xu.f.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a889257[ ]+th.vfncvt.x.f.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a891257[ ]+th.vfncvt.f.xu.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a899257[ ]+th.vfncvt.f.x.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+8a8a1257[ ]+th.vfncvt.f.f.v[ ]+v4,v8
+[ ]+[0-9a-f]+:[ ]+88881257[ ]+th.vfncvt.xu.f.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88889257[ ]+th.vfncvt.x.f.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88891257[ ]+th.vfncvt.f.xu.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+88899257[ ]+th.vfncvt.f.x.v[ ]+v4,v8,v0.t
+[ ]+[0-9a-f]+:[ ]+888a1257[ ]+th.vfncvt.f.f.v[ ]+v4,v8,v0.t
diff --git a/gas/testsuite/gas/riscv/x-thead-vector.s b/gas/testsuite/gas/riscv/x-thead-vector.s
index 97a0e1a..92e9006 100644
--- a/gas/testsuite/gas/riscv/x-thead-vector.s
+++ b/gas/testsuite/gas/riscv/x-thead-vector.s
@@ -1432,3 +1432,191 @@
th.vnclip.vx v4, v8, a1, v0.t
th.vnclip.vi v4, v8, 1, v0.t
th.vnclip.vi v4, v8, 31, v0.t
+
+ th.vfadd.vv v4, v8, v12
+ th.vfadd.vf v4, v8, fa2
+ th.vfadd.vv v4, v8, v12, v0.t
+ th.vfadd.vf v4, v8, fa2, v0.t
+ th.vfsub.vv v4, v8, v12
+ th.vfsub.vf v4, v8, fa2
+ th.vfsub.vv v4, v8, v12, v0.t
+ th.vfsub.vf v4, v8, fa2, v0.t
+ th.vfrsub.vf v4, v8, fa2
+ th.vfrsub.vf v4, v8, fa2, v0.t
+
+ th.vfwadd.vv v4, v8, v12
+ th.vfwadd.vf v4, v8, fa2
+ th.vfwadd.vv v4, v8, v12, v0.t
+ th.vfwadd.vf v4, v8, fa2, v0.t
+ th.vfwsub.vv v4, v8, v12
+ th.vfwsub.vf v4, v8, fa2
+ th.vfwsub.vv v4, v8, v12, v0.t
+ th.vfwsub.vf v4, v8, fa2, v0.t
+ th.vfwadd.wv v4, v8, v12
+ th.vfwadd.wf v4, v8, fa2
+ th.vfwadd.wv v4, v8, v12, v0.t
+ th.vfwadd.wf v4, v8, fa2, v0.t
+ th.vfwsub.wv v4, v8, v12
+ th.vfwsub.wf v4, v8, fa2
+ th.vfwsub.wv v4, v8, v12, v0.t
+ th.vfwsub.wf v4, v8, fa2, v0.t
+
+ th.vfmul.vv v4, v8, v12
+ th.vfmul.vf v4, v8, fa2
+ th.vfmul.vv v4, v8, v12, v0.t
+ th.vfmul.vf v4, v8, fa2, v0.t
+ th.vfdiv.vv v4, v8, v12
+ th.vfdiv.vf v4, v8, fa2
+ th.vfdiv.vv v4, v8, v12, v0.t
+ th.vfdiv.vf v4, v8, fa2, v0.t
+ th.vfrdiv.vf v4, v8, fa2
+ th.vfrdiv.vf v4, v8, fa2, v0.t
+
+ th.vfwmul.vv v4, v8, v12
+ th.vfwmul.vf v4, v8, fa2
+ th.vfwmul.vv v4, v8, v12, v0.t
+ th.vfwmul.vf v4, v8, fa2, v0.t
+
+ th.vfmadd.vv v4, v12, v8
+ th.vfmadd.vf v4, fa2, v8
+ th.vfnmadd.vv v4, v12, v8
+ th.vfnmadd.vf v4, fa2, v8
+ th.vfmsub.vv v4, v12, v8
+ th.vfmsub.vf v4, fa2, v8
+ th.vfnmsub.vv v4, v12, v8
+ th.vfnmsub.vf v4, fa2, v8
+ th.vfmadd.vv v4, v12, v8, v0.t
+ th.vfmadd.vf v4, fa2, v8, v0.t
+ th.vfnmadd.vv v4, v12, v8, v0.t
+ th.vfnmadd.vf v4, fa2, v8, v0.t
+ th.vfmsub.vv v4, v12, v8, v0.t
+ th.vfmsub.vf v4, fa2, v8, v0.t
+ th.vfnmsub.vv v4, v12, v8, v0.t
+ th.vfnmsub.vf v4, fa2, v8, v0.t
+ th.vfmacc.vv v4, v12, v8
+ th.vfmacc.vf v4, fa2, v8
+ th.vfnmacc.vv v4, v12, v8
+ th.vfnmacc.vf v4, fa2, v8
+ th.vfmsac.vv v4, v12, v8
+ th.vfmsac.vf v4, fa2, v8
+ th.vfnmsac.vv v4, v12, v8
+ th.vfnmsac.vf v4, fa2, v8
+ th.vfmacc.vv v4, v12, v8, v0.t
+ th.vfmacc.vf v4, fa2, v8, v0.t
+ th.vfnmacc.vv v4, v12, v8, v0.t
+ th.vfnmacc.vf v4, fa2, v8, v0.t
+ th.vfmsac.vv v4, v12, v8, v0.t
+ th.vfmsac.vf v4, fa2, v8, v0.t
+ th.vfnmsac.vv v4, v12, v8, v0.t
+ th.vfnmsac.vf v4, fa2, v8, v0.t
+
+ th.vfwmacc.vv v4, v12, v8
+ th.vfwmacc.vf v4, fa2, v8
+ th.vfwnmacc.vv v4, v12, v8
+ th.vfwnmacc.vf v4, fa2, v8
+ th.vfwmsac.vv v4, v12, v8
+ th.vfwmsac.vf v4, fa2, v8
+ th.vfwnmsac.vv v4, v12, v8
+ th.vfwnmsac.vf v4, fa2, v8
+ th.vfwmacc.vv v4, v12, v8, v0.t
+ th.vfwmacc.vf v4, fa2, v8, v0.t
+ th.vfwnmacc.vv v4, v12, v8, v0.t
+ th.vfwnmacc.vf v4, fa2, v8, v0.t
+ th.vfwmsac.vv v4, v12, v8, v0.t
+ th.vfwmsac.vf v4, fa2, v8, v0.t
+ th.vfwnmsac.vv v4, v12, v8, v0.t
+ th.vfwnmsac.vf v4, fa2, v8, v0.t
+
+ th.vfsqrt.v v4, v8
+ th.vfsqrt.v v4, v8, v0.t
+
+ th.vfmin.vv v4, v8, v12
+ th.vfmin.vf v4, v8, fa2
+ th.vfmax.vv v4, v8, v12
+ th.vfmax.vf v4, v8, fa2
+ th.vfmin.vv v4, v8, v12, v0.t
+ th.vfmin.vf v4, v8, fa2, v0.t
+ th.vfmax.vv v4, v8, v12, v0.t
+ th.vfmax.vf v4, v8, fa2, v0.t
+
+ th.vfsgnj.vv v4, v8, v12
+ th.vfsgnj.vf v4, v8, fa2
+ th.vfsgnjn.vv v4, v8, v12
+ th.vfsgnjn.vf v4, v8, fa2
+ th.vfsgnjx.vv v4, v8, v12
+ th.vfsgnjx.vf v4, v8, fa2
+ th.vfsgnj.vv v4, v8, v12, v0.t
+ th.vfsgnj.vf v4, v8, fa2, v0.t
+ th.vfsgnjn.vv v4, v8, v12, v0.t
+ th.vfsgnjn.vf v4, v8, fa2, v0.t
+ th.vfsgnjx.vv v4, v8, v12, v0.t
+ th.vfsgnjx.vf v4, v8, fa2, v0.t
+
+ # Aliases
+ th.vmfgt.vv v4, v8, v12
+ th.vmfge.vv v4, v8, v12
+ th.vmfgt.vv v4, v8, v12, v0.t
+ th.vmfge.vv v4, v8, v12, v0.t
+
+ th.vmfeq.vv v4, v8, v12
+ th.vmfeq.vf v4, v8, fa2
+ th.vmfne.vv v4, v8, v12
+ th.vmfne.vf v4, v8, fa2
+ th.vmflt.vv v4, v8, v12
+ th.vmflt.vf v4, v8, fa2
+ th.vmfle.vv v4, v8, v12
+ th.vmfle.vf v4, v8, fa2
+ th.vmfgt.vf v4, v8, fa2
+ th.vmfge.vf v4, v8, fa2
+ th.vmfeq.vv v4, v8, v12, v0.t
+ th.vmfeq.vf v4, v8, fa2, v0.t
+ th.vmfne.vv v4, v8, v12, v0.t
+ th.vmfne.vf v4, v8, fa2, v0.t
+ th.vmflt.vv v4, v8, v12, v0.t
+ th.vmflt.vf v4, v8, fa2, v0.t
+ th.vmfle.vv v4, v8, v12, v0.t
+ th.vmfle.vf v4, v8, fa2, v0.t
+ th.vmfgt.vf v4, v8, fa2, v0.t
+ th.vmfge.vf v4, v8, fa2, v0.t
+
+ th.vmford.vv v4, v8, v12
+ th.vmford.vf v4, v8, fa2
+ th.vmford.vv v4, v8, v12, v0.t
+ th.vmford.vf v4, v8, fa2, v0.t
+
+ th.vfclass.v v4, v8
+ th.vfclass.v v4, v8, v0.t
+
+ th.vfmerge.vfm v4, v8, fa2, v0
+ th.vfmv.v.f v4, fa1
+
+ th.vfcvt.xu.f.v v4, v8
+ th.vfcvt.x.f.v v4, v8
+ th.vfcvt.f.xu.v v4, v8
+ th.vfcvt.f.x.v v4, v8
+ th.vfcvt.xu.f.v v4, v8, v0.t
+ th.vfcvt.x.f.v v4, v8, v0.t
+ th.vfcvt.f.xu.v v4, v8, v0.t
+ th.vfcvt.f.x.v v4, v8, v0.t
+
+ th.vfwcvt.xu.f.v v4, v8
+ th.vfwcvt.x.f.v v4, v8
+ th.vfwcvt.f.xu.v v4, v8
+ th.vfwcvt.f.x.v v4, v8
+ th.vfwcvt.f.f.v v4, v8
+ th.vfwcvt.xu.f.v v4, v8, v0.t
+ th.vfwcvt.x.f.v v4, v8, v0.t
+ th.vfwcvt.f.xu.v v4, v8, v0.t
+ th.vfwcvt.f.x.v v4, v8, v0.t
+ th.vfwcvt.f.f.v v4, v8, v0.t
+
+ th.vfncvt.xu.f.v v4, v8
+ th.vfncvt.x.f.v v4, v8
+ th.vfncvt.f.xu.v v4, v8
+ th.vfncvt.f.x.v v4, v8
+ th.vfncvt.f.f.v v4, v8
+ th.vfncvt.xu.f.v v4, v8, v0.t
+ th.vfncvt.x.f.v v4, v8, v0.t
+ th.vfncvt.f.xu.v v4, v8, v0.t
+ th.vfncvt.f.x.v v4, v8, v0.t
+ th.vfncvt.f.f.v v4, v8, v0.t