@@ -1238,6 +1238,7 @@ class VPseudoBinaryNoMaskRoundingMode<VReg RetClass,
12381238 RISCVVPseudo {
12391239 let mayLoad = 0;
12401240 let mayStore = 0;
1241+ let hasSideEffects = 0;
12411242 let Constraints = !interleave([Constraint, "$rd = $passthru"], ",");
12421243 let TargetOverlapConstraintType = TargetConstraintType;
12431244 let HasVLOp = 1;
@@ -1262,6 +1263,7 @@ class VPseudoBinaryMaskPolicyRoundingMode<VReg RetClass,
12621263 RISCVVPseudo {
12631264 let mayLoad = 0;
12641265 let mayStore = 0;
1266+ let hasSideEffects = 0;
12651267 let Constraints = !interleave([Constraint, "$rd = $passthru"], ",");
12661268 let TargetOverlapConstraintType = TargetConstraintType;
12671269 let HasVLOp = 1;
@@ -6405,7 +6407,7 @@ defm PseudoVFRSUB : VPseudoVALU_VF_RM;
64056407//===----------------------------------------------------------------------===//
64066408// 13.3. Vector Widening Floating-Point Add/Subtract Instructions
64076409//===----------------------------------------------------------------------===//
6408- let mayRaiseFPException = true, hasSideEffects = 0 in {
6410+ let mayRaiseFPException = true in {
64096411defm PseudoVFWADD : VPseudoVFWALU_VV_VF_RM;
64106412defm PseudoVFWSUB : VPseudoVFWALU_VV_VF_RM;
64116413defm PseudoVFWADD : VPseudoVFWALU_WV_WF_RM;
@@ -6415,7 +6417,7 @@ defm PseudoVFWSUB : VPseudoVFWALU_WV_WF_RM;
64156417//===----------------------------------------------------------------------===//
64166418// 13.4. Vector Single-Width Floating-Point Multiply/Divide Instructions
64176419//===----------------------------------------------------------------------===//
6418- let mayRaiseFPException = true, hasSideEffects = 0 in {
6420+ let mayRaiseFPException = true in {
64196421defm PseudoVFMUL : VPseudoVFMUL_VV_VF_RM;
64206422defm PseudoVFDIV : VPseudoVFDIV_VV_VF_RM;
64216423defm PseudoVFRDIV : VPseudoVFRDIV_VF_RM;
@@ -6424,14 +6426,14 @@ defm PseudoVFRDIV : VPseudoVFRDIV_VF_RM;
64246426//===----------------------------------------------------------------------===//
64256427// 13.5. Vector Widening Floating-Point Multiply
64266428//===----------------------------------------------------------------------===//
6427- let mayRaiseFPException = true, hasSideEffects = 0 in {
6429+ let mayRaiseFPException = true in {
64286430defm PseudoVFWMUL : VPseudoVWMUL_VV_VF_RM;
64296431}
64306432
64316433//===----------------------------------------------------------------------===//
64326434// 13.6. Vector Single-Width Floating-Point Fused Multiply-Add Instructions
64336435//===----------------------------------------------------------------------===//
6434- let mayRaiseFPException = true, hasSideEffects = 0 in {
6436+ let mayRaiseFPException = true in {
64356437defm PseudoVFMACC : VPseudoVMAC_VV_VF_AAXA_RM;
64366438defm PseudoVFNMACC : VPseudoVMAC_VV_VF_AAXA_RM;
64376439defm PseudoVFMSAC : VPseudoVMAC_VV_VF_AAXA_RM;
@@ -6445,7 +6447,7 @@ defm PseudoVFNMSUB : VPseudoVMAC_VV_VF_AAXA_RM;
64456447//===----------------------------------------------------------------------===//
64466448// 13.7. Vector Widening Floating-Point Fused Multiply-Add Instructions
64476449//===----------------------------------------------------------------------===//
6448- let mayRaiseFPException = true, hasSideEffects = 0 in {
6450+ let mayRaiseFPException = true in {
64496451defm PseudoVFWMACC : VPseudoVWMAC_VV_VF_RM;
64506452defm PseudoVFWNMACC : VPseudoVWMAC_VV_VF_RM;
64516453defm PseudoVFWMSAC : VPseudoVWMAC_VV_VF_RM;
@@ -6457,7 +6459,7 @@ defm PseudoVFWMACCBF16 : VPseudoVWMAC_VV_VF_BF_RM;
64576459//===----------------------------------------------------------------------===//
64586460// 13.8. Vector Floating-Point Square-Root Instruction
64596461//===----------------------------------------------------------------------===//
6460- let mayRaiseFPException = true, hasSideEffects = 0 in
6462+ let mayRaiseFPException = true in
64616463defm PseudoVFSQRT : VPseudoVSQR_V_RM;
64626464
64636465//===----------------------------------------------------------------------===//
@@ -6469,7 +6471,7 @@ defm PseudoVFRSQRT7 : VPseudoVRCP_V;
64696471//===----------------------------------------------------------------------===//
64706472// 13.10. Vector Floating-Point Reciprocal Estimate Instruction
64716473//===----------------------------------------------------------------------===//
6472- let mayRaiseFPException = true, hasSideEffects = 0 in
6474+ let mayRaiseFPException = true in
64736475defm PseudoVFREC7 : VPseudoVRCP_V_RM;
64746476
64756477//===----------------------------------------------------------------------===//
@@ -6519,29 +6521,23 @@ defm PseudoVFMV_V : VPseudoVMV_F;
65196521// 13.17. Single-Width Floating-Point/Integer Type-Convert Instructions
65206522//===----------------------------------------------------------------------===//
65216523let mayRaiseFPException = true in {
6522- let hasSideEffects = 0 in {
65236524defm PseudoVFCVT_XU_F : VPseudoVCVTI_V_RM;
65246525defm PseudoVFCVT_X_F : VPseudoVCVTI_V_RM;
6525- }
65266526
65276527defm PseudoVFCVT_RTZ_XU_F : VPseudoVCVTI_V;
65286528defm PseudoVFCVT_RTZ_X_F : VPseudoVCVTI_V;
65296529
65306530defm PseudoVFROUND_NOEXCEPT : VPseudoVFROUND_NOEXCEPT_V;
6531- let hasSideEffects = 0 in {
65326531defm PseudoVFCVT_F_XU : VPseudoVCVTF_V_RM;
65336532defm PseudoVFCVT_F_X : VPseudoVCVTF_V_RM;
6534- }
65356533} // mayRaiseFPException = true
65366534
65376535//===----------------------------------------------------------------------===//
65386536// 13.18. Widening Floating-Point/Integer Type-Convert Instructions
65396537//===----------------------------------------------------------------------===//
65406538let mayRaiseFPException = true in {
6541- let hasSideEffects = 0 in {
65426539defm PseudoVFWCVT_XU_F : VPseudoVWCVTI_V_RM;
65436540defm PseudoVFWCVT_X_F : VPseudoVWCVTI_V_RM;
6544- }
65456541
65466542defm PseudoVFWCVT_RTZ_XU_F : VPseudoVWCVTI_V;
65476543defm PseudoVFWCVT_RTZ_X_F : VPseudoVWCVTI_V;
@@ -6557,23 +6553,17 @@ defm PseudoVFWCVTBF16_F_F : VPseudoVWCVTD_V;
65576553// 13.19. Narrowing Floating-Point/Integer Type-Convert Instructions
65586554//===----------------------------------------------------------------------===//
65596555let mayRaiseFPException = true in {
6560- let hasSideEffects = 0 in {
65616556defm PseudoVFNCVT_XU_F : VPseudoVNCVTI_W_RM;
65626557defm PseudoVFNCVT_X_F : VPseudoVNCVTI_W_RM;
6563- }
65646558
65656559defm PseudoVFNCVT_RTZ_XU_F : VPseudoVNCVTI_W;
65666560defm PseudoVFNCVT_RTZ_X_F : VPseudoVNCVTI_W;
65676561
6568- let hasSideEffects = 0 in {
65696562defm PseudoVFNCVT_F_XU : VPseudoVNCVTF_W_RM;
65706563defm PseudoVFNCVT_F_X : VPseudoVNCVTF_W_RM;
6571- }
65726564
6573- let hasSideEffects = 0 in {
65746565defm PseudoVFNCVT_F_F : VPseudoVNCVTD_W_RM;
65756566defm PseudoVFNCVTBF16_F_F : VPseudoVNCVTD_W_RM;
6576- }
65776567
65786568defm PseudoVFNCVT_ROD_F_F : VPseudoVNCVTD_W;
65796569} // mayRaiseFPException = true
@@ -6609,19 +6599,17 @@ let Predicates = [HasVInstructionsAnyF] in {
66096599//===----------------------------------------------------------------------===//
66106600// 14.3. Vector Single-Width Floating-Point Reduction Instructions
66116601//===----------------------------------------------------------------------===//
6612- let mayRaiseFPException = true, hasSideEffects = 0 in {
6602+ let mayRaiseFPException = true in {
66136603defm PseudoVFREDOSUM : VPseudoVFREDO_VS_RM;
66146604defm PseudoVFREDUSUM : VPseudoVFRED_VS_RM;
6615- }
6616- let mayRaiseFPException = true in {
66176605defm PseudoVFREDMIN : VPseudoVFREDMINMAX_VS;
66186606defm PseudoVFREDMAX : VPseudoVFREDMINMAX_VS;
66196607}
66206608
66216609//===----------------------------------------------------------------------===//
66226610// 14.4. Vector Widening Floating-Point Reduction Instructions
66236611//===----------------------------------------------------------------------===//
6624- let IsRVVWideningReduction = 1, hasSideEffects = 0, mayRaiseFPException = true in {
6612+ let IsRVVWideningReduction = 1, mayRaiseFPException = true in {
66256613defm PseudoVFWREDUSUM : VPseudoVFWRED_VS_RM;
66266614defm PseudoVFWREDOSUM : VPseudoVFWREDO_VS_RM;
66276615}
0 commit comments