@@ -40,30 +40,30 @@ def FPR16INX : RegisterOperand<GPRF16> {
4040
4141def ZfhExt : ExtInfo<"", "", [HasStdExtZfh],
4242 f16, FPR16, FPR32, ?, FPR16>;
43- def ZfhminExt : ExtInfo<"", "", [HasStdExtZfhOrZfhmin ],
43+ def ZfhminExt : ExtInfo<"", "", [HasStdExtZfhmin ],
4444 f16, FPR16, FPR32, ?, FPR16>;
4545def ZfhDExt : ExtInfo<"", "", [HasStdExtZfh, HasStdExtD],
4646 ?, ?, FPR32, FPR64, FPR16>;
47- def ZfhminDExt : ExtInfo<"", "", [HasStdExtZfhOrZfhmin , HasStdExtD],
47+ def ZfhminDExt : ExtInfo<"", "", [HasStdExtZfhmin , HasStdExtD],
4848 ?, ?, FPR32, FPR64, FPR16>;
4949
5050def ZhinxExt : ExtInfo<"_INX", "RVZfinx",
5151 [HasStdExtZhinx],
5252 f16, FPR16INX, FPR32INX, ?, FPR16INX>;
5353def ZhinxminExt : ExtInfo<"_INX", "RVZfinx",
54- [HasStdExtZhinxOrZhinxmin ],
54+ [HasStdExtZhinxmin ],
5555 f16, FPR16INX, FPR32INX, ?, FPR16INX>;
5656def ZhinxZdinxExt : ExtInfo<"_INX", "RVZfinx",
5757 [HasStdExtZhinx, HasStdExtZdinx, IsRV64],
5858 ?, ?, FPR32INX, FPR64INX, FPR16INX>;
5959def ZhinxminZdinxExt : ExtInfo<"_INX", "RVZfinx",
60- [HasStdExtZhinxOrZhinxmin , HasStdExtZdinx, IsRV64],
60+ [HasStdExtZhinxmin , HasStdExtZdinx, IsRV64],
6161 ?, ?, FPR32INX, FPR64INX, FPR16INX>;
6262def ZhinxZdinx32Ext : ExtInfo<"_IN32X", "RV32Zdinx",
6363 [HasStdExtZhinx, HasStdExtZdinx, IsRV32],
6464 ?, ?, FPR32INX, FPR64IN32X, FPR16INX >;
6565def ZhinxminZdinx32Ext : ExtInfo<"_IN32X", "RV32Zdinx",
66- [HasStdExtZhinxOrZhinxmin , HasStdExtZdinx, IsRV32],
66+ [HasStdExtZhinxmin , HasStdExtZdinx, IsRV32],
6767 ?, ?, FPR32INX, FPR64IN32X, FPR16INX>;
6868
6969defvar ZfhExts = [ZfhExt, ZhinxExt];
@@ -200,10 +200,10 @@ foreach Ext = ZfhminDExts in {
200200// Assembler Pseudo Instructions (User-Level ISA, Version 2.2, Chapter 20)
201201//===----------------------------------------------------------------------===//
202202
203- let Predicates = [HasStdExtZfhOrZfhmin ] in {
203+ let Predicates = [HasStdExtZfhmin ] in {
204204def : InstAlias<"flh $rd, (${rs1})", (FLH FPR16:$rd, GPR:$rs1, 0), 0>;
205205def : InstAlias<"fsh $rs2, (${rs1})", (FSH FPR16:$rs2, GPR:$rs1, 0), 0>;
206- } // Predicates = [HasStdExtZfhOrZfhmin ]
206+ } // Predicates = [HasStdExtZfhmin ]
207207
208208let Predicates = [HasStdExtZfh] in {
209209def : InstAlias<"fmv.h $rd, $rs", (FSGNJ_H FPR16:$rd, FPR16:$rs, FPR16:$rs)>;
@@ -223,10 +223,10 @@ def PseudoQuietFLT_H : PseudoQuietFCMP<FPR16>;
223223}
224224} // Predicates = [HasStdExtZfh]
225225
226- let Predicates = [HasStdExtZfhOrZfhmin ] in {
226+ let Predicates = [HasStdExtZfhmin ] in {
227227def PseudoFLH : PseudoFloatLoad<"flh", FPR16>;
228228def PseudoFSH : PseudoStore<"fsh", FPR16>;
229- } // Predicates = [HasStdExtZfhOrZfhmin ]
229+ } // Predicates = [HasStdExtZfhmin ]
230230
231231let Predicates = [HasStdExtZhinx] in {
232232def : InstAlias<"fmv.h $rd, $rs", (FSGNJ_H_INX FPR16INX:$rd, FPR16INX:$rs, FPR16INX:$rs)>;
@@ -242,7 +242,7 @@ let usesCustomInserter = 1 in {
242242def PseudoQuietFLE_H_INX : PseudoQuietFCMP<FPR16INX>;
243243def PseudoQuietFLT_H_INX : PseudoQuietFCMP<FPR16INX>;
244244}
245- } // Predicates = [HasStdExtZhinxOrZhinxmin ]
245+ } // Predicates = [HasStdExtZhinxmin ]
246246
247247//===----------------------------------------------------------------------===//
248248// Pseudo-instructions and codegen patterns
@@ -412,15 +412,15 @@ defm Select_FPR16INX : SelectCC_GPR_rrirr<FPR16INX, f16>;
412412def PseudoFROUND_H_INX : PseudoFROUND<FPR16INX, f16>;
413413} // Predicates = [HasStdExtZhinx]
414414
415- let Predicates = [HasStdExtZfhOrZfhmin ] in {
415+ let Predicates = [HasStdExtZfhmin ] in {
416416/// Loads
417417def : LdPat<load, FLH, f16>;
418418
419419/// Stores
420420def : StPat<store, FSH, FPR16, f16>;
421- } // Predicates = [HasStdExtZfhOrZfhmin ]
421+ } // Predicates = [HasStdExtZfhmin ]
422422
423- let Predicates = [HasStdExtZhinxOrZhinxmin ] in {
423+ let Predicates = [HasStdExtZhinxmin ] in {
424424/// Loads
425425def : Pat<(f16 (load (AddrRegImm (XLenVT GPR:$rs1), simm12:$imm12))),
426426 (COPY_TO_REGCLASS (LH GPR:$rs1, simm12:$imm12), GPRF16)>;
@@ -429,9 +429,9 @@ def : Pat<(f16 (load (AddrRegImm (XLenVT GPR:$rs1), simm12:$imm12))),
429429def : Pat<(store (f16 FPR16INX:$rs2),
430430 (AddrRegImm (XLenVT GPR:$rs1), simm12:$imm12)),
431431 (SH (COPY_TO_REGCLASS FPR16INX:$rs2, GPR), GPR:$rs1, simm12:$imm12)>;
432- } // Predicates = [HasStdExtZhinxOrZhinxmin ]
432+ } // Predicates = [HasStdExtZhinxmin ]
433433
434- let Predicates = [HasStdExtZfhOrZfhmin ] in {
434+ let Predicates = [HasStdExtZfhmin ] in {
435435/// Float conversion operations
436436
437437// f32 -> f16, f16 -> f32
@@ -444,9 +444,9 @@ def : Pat<(riscv_fmv_x_anyexth (f16 FPR16:$src)), (FMV_X_H FPR16:$src)>;
444444def : Pat<(riscv_fmv_x_signexth (f16 FPR16:$src)), (FMV_X_H FPR16:$src)>;
445445
446446def : Pat<(fcopysign FPR32:$rs1, (f16 FPR16:$rs2)), (FSGNJ_S $rs1, (FCVT_S_H $rs2, FRM_RNE))>;
447- } // Predicates = [HasStdExtZfhOrZfhmin ]
447+ } // Predicates = [HasStdExtZfhmin ]
448448
449- let Predicates = [HasStdExtZhinxOrZhinxmin ] in {
449+ let Predicates = [HasStdExtZhinxmin ] in {
450450/// Float conversion operations
451451
452452// f32 -> f16, f16 -> f32
@@ -459,7 +459,7 @@ def : Pat<(riscv_fmv_x_anyexth FPR16INX:$src), (COPY_TO_REGCLASS FPR16INX:$src,
459459def : Pat<(riscv_fmv_x_signexth FPR16INX:$src), (COPY_TO_REGCLASS FPR16INX:$src, GPR)>;
460460
461461def : Pat<(fcopysign FPR32INX:$rs1, FPR16INX:$rs2), (FSGNJ_S_INX $rs1, (FCVT_S_H_INX $rs2, FRM_RNE))>;
462- } // Predicates = [HasStdExtZhinxOrZhinxmin ]
462+ } // Predicates = [HasStdExtZhinxmin ]
463463
464464let Predicates = [HasStdExtZfh] in {
465465// half->[u]int. Round-to-zero must be used.
@@ -561,7 +561,7 @@ def : Pat<(any_sint_to_fp (i64 GPR:$rs1)), (FCVT_H_L_INX $rs1, FRM_DYN)>;
561561def : Pat<(any_uint_to_fp (i64 GPR:$rs1)), (FCVT_H_LU_INX $rs1, FRM_DYN)>;
562562} // Predicates = [HasStdExtZhinx, IsRV64]
563563
564- let Predicates = [HasStdExtZfhOrZfhmin , HasStdExtD] in {
564+ let Predicates = [HasStdExtZfhmin , HasStdExtD] in {
565565/// Float conversion operations
566566// f64 -> f16, f16 -> f64
567567def : Pat<(f16 (any_fpround FPR64:$rs1)), (FCVT_H_D FPR64:$rs1, FRM_DYN)>;
@@ -571,9 +571,9 @@ def : Pat<(any_fpextend (f16 FPR16:$rs1)), (FCVT_D_H FPR16:$rs1, FRM_RNE)>;
571571def : Pat<(f16 (fcopysign FPR16:$rs1, FPR64:$rs2)),
572572 (FSGNJ_H $rs1, (FCVT_H_D $rs2, FRM_DYN))>;
573573def : Pat<(fcopysign FPR64:$rs1, (f16 FPR16:$rs2)), (FSGNJ_D $rs1, (FCVT_D_H $rs2, FRM_RNE))>;
574- } // Predicates = [HasStdExtZfhOrZfhmin , HasStdExtD]
574+ } // Predicates = [HasStdExtZfhmin , HasStdExtD]
575575
576- let Predicates = [HasStdExtZhinxOrZhinxmin , HasStdExtZdinx, IsRV32] in {
576+ let Predicates = [HasStdExtZhinxmin , HasStdExtZdinx, IsRV32] in {
577577/// Float conversion operations
578578// f64 -> f16, f16 -> f64
579579def : Pat<(any_fpround FPR64IN32X:$rs1), (FCVT_H_D_IN32X FPR64IN32X:$rs1, FRM_DYN)>;
@@ -583,9 +583,9 @@ def : Pat<(any_fpextend FPR16INX:$rs1), (FCVT_D_H_IN32X FPR16INX:$rs1, FRM_RNE)>
583583def : Pat<(fcopysign FPR16INX:$rs1, FPR64IN32X:$rs2),
584584 (FSGNJ_H_INX $rs1, (FCVT_H_D_IN32X $rs2, 0b111))>;
585585def : Pat<(fcopysign FPR64IN32X:$rs1, FPR16INX:$rs2), (FSGNJ_D_IN32X $rs1, (FCVT_D_H_IN32X $rs2, FRM_RNE))>;
586- } // Predicates = [HasStdExtZhinxOrZhinxmin , HasStdExtZdinx, IsRV32]
586+ } // Predicates = [HasStdExtZhinxmin , HasStdExtZdinx, IsRV32]
587587
588- let Predicates = [HasStdExtZhinxOrZhinxmin , HasStdExtZdinx, IsRV64] in {
588+ let Predicates = [HasStdExtZhinxmin , HasStdExtZdinx, IsRV64] in {
589589/// Float conversion operations
590590// f64 -> f16, f16 -> f64
591591def : Pat<(any_fpround FPR64INX:$rs1), (FCVT_H_D_INX FPR64INX:$rs1, FRM_DYN)>;
@@ -595,7 +595,7 @@ def : Pat<(any_fpextend FPR16INX:$rs1), (FCVT_D_H_INX FPR16INX:$rs1, FRM_RNE)>;
595595def : Pat<(fcopysign FPR16INX:$rs1, FPR64INX:$rs2),
596596 (FSGNJ_H_INX $rs1, (FCVT_H_D_INX $rs2, 0b111))>;
597597def : Pat<(fcopysign FPR64INX:$rs1, FPR16INX:$rs2), (FSGNJ_D_INX $rs1, (FCVT_D_H_INX $rs2, FRM_RNE))>;
598- } // Predicates = [HasStdExtZhinxOrZhinxmin , HasStdExtZdinx, IsRV64]
598+ } // Predicates = [HasStdExtZhinxmin , HasStdExtZdinx, IsRV64]
599599
600600let Predicates = [HasStdExtZfhmin, NoStdExtZfh] in {
601601// half->[u]int. Round-to-zero must be used.
0 commit comments