Home
last modified time | relevance | path

Searched refs:FPR32 (Results 1 – 25 of 27) sorted by relevance

12

/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchFloat32InstrInfo.td292 def : Pat<(fma FPR32:$fj, FPR32:$fk, FPR32:$fa), (FMADD_S $fj, $fk, $fa)>;
295 def : Pat<(fma FPR32:$fj, FPR32:$fk, (fneg FPR32:$fa)),
296 (FMSUB_S FPR32:$fj, FPR32:$fk, FPR32:$fa)>;
299 def : Pat<(fneg (fma FPR32:$fj, FPR32:$fk, FPR32:$fa)),
300 (FNMADD_S FPR32:$fj, FPR32:$fk, FPR32:$fa)>;
303 def : Pat<(fma_nsz (fneg FPR32:$fj), FPR32:$fk, (fneg FPR32:$fa)),
304 (FNMADD_S FPR32:$fj, FPR32:$fk, FPR32:$fa)>;
307 def : Pat<(fneg (fma FPR32:$fj, FPR32:$fk, (fneg FPR32:$fa))),
308 (FNMSUB_S FPR32:$fj, FPR32:$fk, FPR32:$fa)>;
311 def : Pat<(fma_nsz (fneg FPR32:$fj), FPR32:$fk, FPR32:$fa),
[all …]
H A DLoongArchFloat64InstrInfo.td69 def FFINT_S_L : FP_CONV<0x011d1800, FPR32, FPR64>;
70 def FTINT_L_S : FP_CONV<0x011b2400, FPR64, FPR32>;
71 def FTINTRM_L_S : FP_CONV<0x011a2400, FPR64, FPR32>;
75 def FCVT_S_D : FP_CONV<0x01191800, FPR32, FPR64>;
76 def FCVT_D_S : FP_CONV<0x01192400, FPR64, FPR32>;
77 def FFINT_D_W : FP_CONV<0x011d2000, FPR64, FPR32>;
79 def FTINT_W_D : FP_CONV<0x011b0800, FPR32, FPR64>;
148 def : Pat<(fcopysign FPR64:$fj, FPR32:$fk),
150 def : Pat<(fcopysign FPR32:$fj, FPR64:$fk),
242 def : Pat<(loongarch_ftint FPR32:$src), (FTINTRZ_L_S FPR32:$src)>;
[all …]
H A DLoongArchFloatInstrFormats.td171 class FP_ALU_2R<bits<32> op, RegisterClass rc = FPR32>
174 class FP_ALU_3R<bits<32> op, RegisterClass rc = FPR32>
177 class FP_ALU_4R<bits<32> op, RegisterClass rc = FPR32>
183 class FP_CMP<bits<32> op, RegisterClass rc = FPR32>
186 class FP_CONV<bits<32> op, RegisterClass rcd = FPR32, RegisterClass rcs = FPR32>
189 class FP_MOV<bits<32> op, RegisterClass rcd = FPR32, RegisterClass rcs = FPR32>
192 class FP_SEL<bits<32> op, RegisterClass rc = FPR32>
205 class FP_LOAD_3R<bits<32> op, RegisterClass rc = FPR32>
208 class FP_LOAD_2RI12<bits<32> op, RegisterClass rc = FPR32>
214 class FP_STORE_3R<bits<32> op, RegisterClass rc = FPR32>
[all …]
H A DLoongArchRegisterInfo.td170 def FPR32 : RegisterClass<"LoongArch", [f32], 32, (sequence "F%u", 0, 31)>;
H A DLoongArchLASXInstrInfo.td1551 def : Pat<(vector_insert v8f32:$vd, FPR32:$fj, uimm3:$imm),
1552 (XVINSGR2VR_W $vd, (COPY_TO_REGCLASS FPR32:$fj, GPR), uimm3:$imm)>;
1579 def : Pat<(lasxsplatf32 FPR32:$fj),
1580 (XVREPLVE0_W (SUBREG_TO_REG (i64 0), FPR32:$fj, sub_32))>;
H A DLoongArchLSXInstrInfo.td1649 def : Pat<(vector_insert v4f32:$vd, FPR32:$fj, uimm2:$imm),
1650 (VINSGR2VR_W $vd, (COPY_TO_REGCLASS FPR32:$fj, GPR), uimm2:$imm)>;
1686 def : Pat<(lsxsplatf32 FPR32:$fj),
1687 (VREPLVEI_W (SUBREG_TO_REG (i64 0), FPR32:$fj, sub_32), 0)>;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInstrInfoZfa.td89 def FROUND_S : FPUnaryOp_r_frm<0b0100000, 0b00100, FPR32, FPR32, "fround.s">,
91 def FROUNDNX_S : FPUnaryOp_r_frm<0b0100000, 0b00101, FPR32, FPR32, "froundnx.s">,
168 (FLTQ_S GPR:$rd, FPR32:$rt, FPR32:$rs), 0>;
170 (FLEQ_S GPR:$rd, FPR32:$rt, FPR32:$rs), 0>;
192 def: PatFprFpr<fminimum, FMINM_S, FPR32, f32>;
197 def: Pat<(any_frint FPR32:$rs1), (FROUNDNX_S FPR32:$rs1, FRM_DYN)>;
200 def: Pat<(any_fnearbyint FPR32:$rs1), (FROUND_S FPR32:$rs1, FRM_DYN)>;
202 def: Pat<(any_fround FPR32:$rs1), (FROUND_S FPR32:$rs1, FRM_RMM)>;
203 def: Pat<(any_ffloor FPR32:$rs1), (FROUND_S FPR32:$rs1, FRM_RDN)>;
204 def: Pat<(any_fceil FPR32:$rs1), (FROUND_S FPR32:$rs1, FRM_RUP)>;
[all …]
H A DRISCVInstrInfoF.td402 def : InstAlias<"fmv.s $rd, $rs", (FSGNJ_S FPR32:$rd, FPR32:$rs, FPR32:$rs)>;
403 def : InstAlias<"fabs.s $rd, $rs", (FSGNJX_S FPR32:$rd, FPR32:$rs, FPR32:$rs)>;
549 def : Pat<(any_fma FPR32:$rs1, FPR32:$rs2, FPR32:$rs3),
553 def : Pat<(any_fma FPR32:$rs1, FPR32:$rs2, (fneg FPR32:$rs3)),
554 (FMSUB_S FPR32:$rs1, FPR32:$rs2, FPR32:$rs3, FRM_DYN)>;
557 def : Pat<(any_fma (fneg FPR32:$rs1), FPR32:$rs2, FPR32:$rs3),
558 (FNMSUB_S FPR32:$rs1, FPR32:$rs2, FPR32:$rs3, FRM_DYN)>;
561 def : Pat<(any_fma (fneg FPR32:$rs1), FPR32:$rs2, (fneg FPR32:$rs3)),
562 (FNMADD_S FPR32:$rs1, FPR32:$rs2, FPR32:$rs3, FRM_DYN)>;
565 def : Pat<(fneg (any_fma_nsz FPR32:$rs1, FPR32:$rs2, FPR32:$rs3)),
[all …]
H A DRISCVInstrInfoZfbfmin.td35 def FCVT_BF16_S : FPUnaryOp_r_frm<0b0100010, 0b01000, FPR16, FPR32, "fcvt.bf16.s">,
37 def FCVT_S_BF16 : FPUnaryOp_r_frm<0b0100000, 0b00110, FPR32, FPR16, "fcvt.s.bf16">,
54 def : Pat<(bf16 (riscv_fpround_bf16 FPR32:$rs1)),
55 (FCVT_BF16_S FPR32:$rs1, FRM_DYN)>;
H A DRISCVInstrInfoXSf.td110 !eq(TyRs1, FPR32): 0b101,
115 dag Ins = SwapVCIXIns<!if(!ne(TyRs1, FPR32), (ins uimm2:$funct6_lo2),
124 !if(!ne(TyRs1, FPR32), "$funct6_lo2, $rd, $rs2, $rs1",
152 if !eq(TyRs1, FPR32) then {
191 defm FV : CustomSiFiveVCIX<"fv", VCIX_XV, uimm5, VR, FPR32>, Sched<[]>;
195 defm FVV : CustomSiFiveVCIX<"fvv", VCIX_XVV, VR, VR, FPR32>, Sched<[]>;
199 defm FVW : CustomSiFiveVCIX<"fvw", VCIX_XVW, VR, VR, FPR32>, Sched<[]>;
375 FPR32, MxListW[i],
553 !eq(Sew, 32) : FPR32,
557 !eq(Scalar, f32) : "FPR32",
H A DRISCVInstrInfoZfh.td42 f16, FPR16, FPR32, ?, FPR16>;
44 f16, FPR16, FPR32, ?, FPR16>;
46 ?, ?, FPR32, FPR64, FPR16>;
48 ?, ?, FPR32, FPR64, FPR16>;
276 def : Pat<(f16 (fcopysign FPR16:$rs1, FPR32:$rs2)),
438 def : Pat<(f16 (any_fpround FPR32:$rs1)), (FCVT_H_S FPR32:$rs1, FRM_DYN)>;
446 def : Pat<(fcopysign FPR32:$rs1, (f16 FPR16:$rs2)), (FSGNJ_S $rs1, (FCVT_S_H $rs2, FRM_RNE))>;
H A DRISCVInstrInfoD.td59 def DExt : ExtInfo<"", "", [HasStdExtD], f64, FPR64, FPR32, FPR64, ?>;
245 def : Pat<(any_fpextend FPR32:$rs1), (FCVT_D_S FPR32:$rs1, FRM_RNE)>;
286 def : Pat<(fcopysign FPR64:$rs1, FPR32:$rs2), (FSGNJ_D $rs1, (FCVT_D_S $rs2,
288 def : Pat<(fcopysign FPR32:$rs1, FPR64:$rs2), (FSGNJ_S $rs1, (FCVT_S_D $rs2,
H A DRISCVInstrInfoXTHead.td431 def TH_FLRW : THLoadIndexed<FPR32, 0b01000, "th.flrw">,
433 def TH_FSRW : THStoreIndexed<FPR32, 0b01000, "th.fsrw">,
447 def TH_FLURW : THLoadIndexed<FPR32, 0b01010, "th.flurw">,
449 def TH_FSURW : THStoreIndexed<FPR32, 0b01010, "th.fsurw">,
859 defm : StIdxPat<store, TH_FSRW, FPR32, f32>;
869 defm : StZextIdxPat<store, TH_FSURW, FPR32, f32>;
H A DRISCVInstrInfoC.td522 def C_FLWSP : CStackLoad<0b011, "c.flwsp", FPR32, uimm8_lsb00>,
580 def C_FSWSP : CStackStore<0b111, "c.fswsp", FPR32, uimm8_lsb00>,
986 def : CompressPat<(FLW FPR32:$rd, SPMem:$rs1, uimm8_lsb00:$imm),
987 (C_FLWSP FPR32:$rd, SPMem:$rs1, uimm8_lsb00:$imm)>;
1028 def : CompressPat<(FSW FPR32:$rs2, SPMem:$rs1, uimm8_lsb00:$imm),
1029 (C_FSWSP FPR32:$rs2, SPMem:$rs1, uimm8_lsb00:$imm)>;
H A DRISCVInstrInfoV.td518 (ins VR:$vs2, FPR32:$rs1, VMaskOp:$vm),
525 (ins VR:$vd, FPR32:$rs1, VR:$vs2, VMaskOp:$vm),
1452 (ins VR:$vs2, FPR32:$rs1, VMV0:$v0),
1460 (ins FPR32:$rs1), "vfmv.v.f", "$vd, $rs1">,
1656 def VFMV_F_S : RVInstV<0b010000, 0b00000, OPFVV, (outs FPR32:$vd),
1661 (ins VR:$vd, FPR32:$rs1), "vfmv.s.f", "$vd, $rs1">,
H A DRISCVRegisterInfo.td236 def FPR32 : RegisterClass<"RISCV", [f32], 32, (add
H A DRISCVInstrInfoVPseudos.td119 ["FPR32", "F"],
277 !eq(Scal, f32) : "FPR32",
328 def VF32MF2: VTypeInfo<vfloat32mf2_t, vbool64_t, 32, V_MF2, f32, FPR32>;
331 def VF32M1: VTypeInfo<vfloat32m1_t, vbool32_t, 32, V_M1, f32, FPR32>;
344 V_M2, f32, FPR32>;
346 V_M4, f32, FPR32>;
348 V_M8, f32, FPR32>;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZRegisterInfo.td205 class FPR32<bits<16> num, string n> : SystemZReg<n> {
210 class FPR64<bits<16> num, string n, FPR32 high>
226 def F#I#S : FPR32<I, "f"#I>;
227 def F#I#D : FPR64<I, "f"#I, !cast<FPR32>("F"#I#"S")>,
231 def F#I#S : FPR32<I, "v"#I>;
232 def F#I#D : FPR64<I, "v"#I, !cast<FPR32>("F"#I#"S")>,
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64InstrFormats.td5465 [(set FPR32:$Rd, (fneg (node FPR32:$Rn, (f32 FPR32:$Rm))))]> {
5510 (node (f32 FPR32:$Rn), (f32 FPR32:$Rm), (f32 FPR32:$Ra)))]> {
7374 def : Pat<(i32 (OpNode (i32 FPR32:$Rn), (i32 FPR32:$Rm))),
7381 [(set FPR32:$Rd, (OpNode FPR32:$Rn, FPR32:$Rm))]>;
7387 (ins FPR32:$Rd, FPR32:$Rn, FPR32:$Rm),
7402 [(set FPR32:$Rd, (OpNode FPR32:$Rn, FPR32:$Rm))]>;
7420 [(set (i32 FPR32:$Rd), (OpNode (f32 FPR32:$Rn), (f32 FPR32:$Rm)))]>;
7634 [(set (i32 FPR32:$Rd), (OpNode (i32 FPR32:$Rn)))]>;
7649 [(set (i32 FPR32:$dst), (OpNode (i32 FPR32:$Rd), (i32 FPR32:$Rn)))]>;
9009 def : Pat<(f32 (OpNode (f32 FPR32:$Rd), (f32 FPR32:$Rn),
[all …]
H A DAArch64InstrInfo.td4728 (FNMULSrr FPR32:$a, FPR32:$b)>;
4765 def : Pat<(f32 (fma (fneg FPR32:$Rn), FPR32:$Rm, FPR32:$Ra)),
4766 (FMSUBSrrr FPR32:$Rn, FPR32:$Rm, FPR32:$Ra)>;
4777 def : Pat<(f32 (fma (fneg FPR32:$Rn), FPR32:$Rm, (fneg FPR32:$Ra))),
4778 (FNMADDSrrr FPR32:$Rn, FPR32:$Rm, FPR32:$Ra)>;
5525 (SQRDMLAHv1i32 FPR32:$Rd, FPR32:$Rn, FPR32:$Rm)>;
5528 (SQRDMLSHv1i32 FPR32:$Rd, FPR32:$Rn, FPR32:$Rm)>;
5544 (FCMGE32 FPR32:$dst, FPR32:$src2, FPR32:$src1), 0>;
5548 (FCMGT32 FPR32:$dst, FPR32:$src2, FPR32:$src1), 0>;
5552 (FACGE32 FPR32:$dst, FPR32:$src2, FPR32:$src1), 0>;
[all …]
H A DAArch64SVEInstrInfo.td790 def : Pat<(nxv4f32 (splat_vector (f32 FPR32:$src))),
791 (DUP_ZZI_S (INSERT_SUBREG (IMPLICIT_DEF), FPR32:$src, ssub), 0)>;
792 def : Pat<(nxv2f32 (splat_vector (f32 FPR32:$src))),
793 (DUP_ZZI_S (INSERT_SUBREG (IMPLICIT_DEF), FPR32:$src, ssub), 0)>;
3076 def : Pat<(nxv16i8 (vector_insert (nxv16i8 (undef)), (i32 FPR32:$src), 0)),
3077 (INSERT_SUBREG (nxv16i8 (IMPLICIT_DEF)), FPR32:$src, ssub)>;
3078 def : Pat<(nxv8i16 (vector_insert (nxv8i16 (undef)), (i32 FPR32:$src), 0)),
3079 (INSERT_SUBREG (nxv8i16 (IMPLICIT_DEF)), FPR32:$src, ssub)>;
3081 (INSERT_SUBREG (nxv4i32 (IMPLICIT_DEF)), FPR32:$src, ssub)>;
3098 (INSERT_SUBREG (nxv4f32 (IMPLICIT_DEF)), FPR32:$src, ssub)>;
[all …]
H A DAArch64RegisterInfo.td446 def FPR32 : RegisterClass<"AArch64", [f32, i32], 32,(sequence "S%u", 0, 31)>;
691 def FPR32Op : RegisterOperand<FPR32, "printOperand"> {
692 let ParserMatchClass = FPRAsmOperand<"FPR32">;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYInstrInfoF2.td18 let MIOperandInfo = (ops FPR32, uimm5);
29 def FPR32Op : RegisterOperand<FPR32, "printFPR">;
272 def : Pat<(sint_to_fp GPR:$vrx), (f2FS32TOF_S (COPY_TO_REGCLASS $vrx, FPR32))>, Requires<[HasFPUv3_…
273 def : Pat<(uint_to_fp GPR:$vrx), (f2FU32TOF_S (COPY_TO_REGCLASS $vrx, FPR32))>, Requires<[HasFPUv3_…
274 def : Pat<(sint_to_fp GPR:$vrx), (f2FS32TOF_D (COPY_TO_REGCLASS $vrx, FPR32))>, Requires<[HasFPUv3_…
275 def : Pat<(uint_to_fp GPR:$vrx), (f2FU32TOF_D (COPY_TO_REGCLASS $vrx, FPR32))>, Requires<[HasFPUv3_…
289 def : Pat<(f32 fpimm16:$imm),(COPY_TO_REGCLASS (MOVI32 (fpimm32_lo16 fpimm16:$imm)), FPR32)>,
291 def : Pat<(f32 fpimm16_16:$imm), (COPY_TO_REGCLASS (MOVIH32 (fpimm32_hi16 fpimm16_16:$imm)), FPR32)…
293 …,(COPY_TO_REGCLASS (ORI32 (MOVIH32 (fpimm32_hi16 fpimm:$imm)), (fpimm32_lo16 fpimm:$imm)), FPR32)>,
H A DCSKYRegisterInfo.td191 def FPR32 : RegisterClass<"CSKY", [f32], 32,
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/
H A DAArch64MCTargetDesc.cpp320 const auto &FPR32 = AArch64MCRegisterClasses[AArch64::FPR32RegClassID]; in isFpOrNEON() local
328 return FPR128.contains(Reg) || FPR64.contains(Reg) || FPR32.contains(Reg) || in isFpOrNEON()

12