[PATCH] D120449: [RISCV][RVV] Add strict vfcvt intrinsics that have side effects for dynamically-set rounding mode

Kito Cheng via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 2 03:34:23 PST 2022


kito-cheng added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:4683
+    Ops.push_back(VL);
+    Ops.push_back(DAG.getUNDEF(XLenVT)); // Policy
+  }
----------------
Is this operand for tail policy? if so why this is `UNDEF`? I guess this should be `TAIL_AGNOSTIC` rather than `UNDEF`?


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td:4673
 //===----------------------------------------------------------------------===//
-defm PseudoVFCVT_XU_F : VPseudoVCVTI_V;
-defm PseudoVFCVT_X_F : VPseudoVCVTI_V;
+let mayRaiseFPException = true in {
 defm PseudoVFCVT_RTZ_XU_F : VPseudoVCVTI_V;
----------------
I saw all other target using `0`/`1` rather than `true`/`false` including `RISCVInstrInfoF.td`/`RISCVInstrInfoD.td`when setting mayRaiseFPException, maybe we should keep it consistent? 


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td:4673
 //===----------------------------------------------------------------------===//
-defm PseudoVFCVT_XU_F : VPseudoVCVTI_V;
-defm PseudoVFCVT_X_F : VPseudoVCVTI_V;
+let mayRaiseFPException = true in {
 defm PseudoVFCVT_RTZ_XU_F : VPseudoVCVTI_V;
----------------
kito-cheng wrote:
> I saw all other target using `0`/`1` rather than `true`/`false` including `RISCVInstrInfoF.td`/`RISCVInstrInfoD.td`when setting mayRaiseFPException, maybe we should keep it consistent? 
And I think we should also set `mayRaiseFPException` in `RISCVInstrInfoV.td`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120449/new/

https://reviews.llvm.org/D120449



More information about the cfe-commits mailing list