[llvm] [RISCV][FPEnv] Lowering of fpenv intrinsics (PR #141498)
Jim Lin via llvm-commits
llvm-commits at lists.llvm.org
Mon May 26 19:06:15 PDT 2025
================
@@ -736,6 +736,17 @@ def : LdPat<load, LW_INX, f32>;
def : StPat<store, SW_INX, GPRF32, f32>;
} // Predicates = [HasStdExtZfinx]
+/// Floating-point environment
+multiclass FPEnvironmentOps<Predicate HasFloatExt> {
+ let Predicates = [HasFloatExt] in {
+ def : Pat<(XLenVT (get_fpenv)), (CSRRS SysRegFCSR.Encoding, (XLenVT X0))>;
+ def : Pat<(set_fpenv (XLenVT GPR:$rs)), (CSRRW SysRegFCSR.Encoding, GPR:$rs)>;
+ def : Pat<(reset_fpenv), (CSRRW SysRegFCSR.Encoding, (XLenVT X0))>;
+ }
+}
+defm : FPEnvironmentOps<HasStdExtF>;
----------------
tclin914 wrote:
Can we use `HasStdExtFOrZfinx` here?
https://github.com/llvm/llvm-project/pull/141498
More information about the llvm-commits
mailing list