[llvm] [RISCV] Add isel for bitcasting between bfloat and half types (PR #158828)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 16 08:33:40 PDT 2025


================
@@ -70,3 +70,10 @@ def : Pat<(bf16 (fpround FPR64:$rs1)),
 def : Pat<(fpextend (bf16 FPR16:$rs1)),
           (FCVT_D_S (FCVT_S_BF16 FPR16:$rs1, FRM_DYN), FRM_RNE)>;
 }
+
+let Predicates = [HasStdExtZfh, HasStdExtZfbfmin] in {
+// bf16 -> f16
+def : Pat<(f16 (bitconvert (bf16 FPR16:$src))), (f16 FPR16:$src)>;
+// f16 -> bf16
+def : Pat<(bf16 (bitconvert (f16 FPR16:$src))), (bf16 FPR16:$src)>;
+}
----------------
topperc wrote:

Missing new line at end of file

https://github.com/llvm/llvm-project/pull/158828


More information about the llvm-commits mailing list