diff --git a/gcc/config/riscv/generic-vector-ooo.md
b/gcc/config/riscv/generic-vector-ooo.md
index 773003b49ae..bceda8a65e2 100644
--- a/gcc/config/riscv/generic-vector-ooo.md
+++ b/gcc/config/riscv/generic-vector-ooo.md
@@ -61,7 +61,8 @@
(and (eq_attr "tune" "generic_ooo,generic")
(eq_attr "type" "vfrecp,vfminmax,vfcmp,vfsgnj,vfclass,vfcvtitof,\
vfcvtftoi,vfwcvtitof,vfwcvtftoi,vfwcvtftof,vfncvtitof,\
- vfncvtftoi,vfncvtftof,vfncvtbf16,vfwcvtbf16"))
+ vfncvtftoi,vfncvtftof,vfncvtbf16,vfwcvtbf16,\
+ nds_vfwcvtbf16,nds_vfncvtbf16"))
"vxu_ooo_issue,vxu_ooo_alu")
diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md
index 045528911e6..6deb0514481 100644
--- a/gcc/config/riscv/riscv.md
+++ b/gcc/config/riscv/riscv.md
@@ -497,6 +497,8 @@
;; sf_vfnrclip vector fp32 to int8 ranged clip instructions
;; sf_vc vector coprocessor interface without side effect
;; sf_vc_se vector coprocessor interface with side effect
+;; nds_vfwcvtbf16 xandes vector widening brain floating-point to single
floating-point instruction
+;; nds_vfncvtbf16 xandes vector widening brain floating-point to single
floating-point instruction
(define_attr "type"
"unknown,branch,jump,jalr,ret,call,load,fpload,store,fpstore,
mtc,mfc,const,arith,logical,shift,slt,imul,idiv,move,fmove,fadd,fmul,
@@ -519,7 +521,7 @@
vgather,vcompress,vmov,vector,vandn,vbrev,vbrev8,vrev8,vclz,vctz,vcpop,vrol,vror,vwsll,
vclmul,vclmulh,vghsh,vgmul,vaesef,vaesem,vaesdf,vaesdm,vaeskf1,vaeskf2,vaesz,
vsha2ms,vsha2ch,vsha2cl,vsm4k,vsm4r,vsm3me,vsm3c,vfncvtbf16,vfwcvtbf16,vfwmaccbf16,
- sf_vc,sf_vc_se"
+ sf_vc,sf_vc_se,nds_vfwcvtbf16,nds_vfncvtbf16"
(cond [(eq_attr "got" "load") (const_string "load")
Is there a strong need for these additional types, or could you perhaps
use an existing type?
When new types are added *every* pipeline model needs to be updated to
include mappings for the new types. So if these have scheduling
properties similar to existing insns/types it's probably better to just
reuse an existing type.
jeff