;; String unspecs
UNSPEC_STRLEN
- ;; Workaround for HFmode without hardware extension
+ ;; Workaround for HFmode and BFmode without hardware extension
UNSPEC_FMV_SFP16_X
+ UNSPEC_FMV_SBF16_X
;; XTheadFmv moves
UNSPEC_XTHEADFMV
[(set_attr "type" "fmove")
(set_attr "mode" "SF")])
+(define_insn "*movbf_softfloat_boxing"
+ [(set (match_operand:BF 0 "register_operand" "=f")
+ (unspec:BF [(match_operand:X 1 "register_operand" " r")]
+ UNSPEC_FMV_SBF16_X))]
+ "!TARGET_ZFBFMIN"
+ "fmv.w.x\t%0,%1"
+ [(set_attr "type" "fmove")
+ (set_attr "mode" "SF")])
+
;;
;; ....................
;;