| /freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/ |
| H A D | LoongArchFloat64InstrInfo.td | 20 def FADD_D : FP_ALU_3R<0x01010000, FPR64>; 21 def FSUB_D : FP_ALU_3R<0x01030000, FPR64>; 22 def FMUL_D : FP_ALU_3R<0x01050000, FPR64>; 23 def FDIV_D : FP_ALU_3R<0x01070000, FPR64>; 24 def FMADD_D : FP_ALU_4R<0x08200000, FPR64>; 25 def FMSUB_D : FP_ALU_4R<0x08600000, FPR64>; 26 def FNMADD_D : FP_ALU_4R<0x08a00000, FPR64>; 27 def FNMSUB_D : FP_ALU_4R<0x08e00000, FPR64>; 28 def FMAX_D : FP_ALU_3R<0x01090000, FPR64>; 29 def FMIN_D : FP_ALU_3R<0x010b0000, FPR64>; [all …]
|
| H A D | LoongArchLSXInstrInfo.td | 1797 def : Pat<(vector_insert v2f64:$vd, FPR64:$fj, uimm1:$imm), 1798 (VINSGR2VR_D $vd, (COPY_TO_REGCLASS FPR64:$fj, GPR), uimm1:$imm)>; 1803 def : Pat<(v2f64 (scalar_to_vector FPR64:$fj)), 1804 (SUBREG_TO_REG (i64 0), FPR64:$fj, sub_64)>; 1975 def : Pat<(lsxsplatf64 FPR64:$fj), 1976 (VREPLVEI_D (SUBREG_TO_REG (i64 0), FPR64:$fj, sub_64), 0)>; 2386 def : Pat<(f64 (fceil FPR64:$fj)), 2388 (SUBREG_TO_REG (i64 0), FPR64:$fj, sub_64), 0)), sub_64))>; 2392 def : Pat<(f64 (ffloor FPR64:$fj)), 2394 (SUBREG_TO_REG (i64 0), FPR64:$fj, sub_64), 0)), sub_64))>; [all …]
|
| H A D | LoongArchFloatInstrFormats.td | 19 // Some FP instructions are defined twice, for accepting FPR32 and FPR64, but
|
| H A D | LoongArchRegisterInfo.td | 179 def FPR64 : RegisterClass<"LoongArch", [f64], 64, (sequence "F%u_64", 0, 31)>;
|
| H A D | LoongArchLASXInstrInfo.td | 1599 def : Pat<(vector_insert v4f64:$vd, FPR64:$fj, uimm2:$imm), 1600 (XVINSGR2VR_D $vd, (COPY_TO_REGCLASS FPR64:$fj, GPR), uimm2:$imm)>; 1605 def : Pat<(v4f64 (scalar_to_vector FPR64:$fj)), 1606 (SUBREG_TO_REG (i64 0), FPR64:$fj, sub_64)>; 1774 def : Pat<(lasxsplatf64 FPR64:$fj), 1775 (XVREPLVE0_D (SUBREG_TO_REG (i64 0), FPR64:$fj, sub_64))>;
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVInstrInfoD.td | 59 def DExt : ExtInfo<"", "", [HasStdExtD], f64, FPR64, FPR32, FPR64, ?>; 74 def FLD : FPLoad_r<0b011, "fld", FPR64, WriteFLD64>; 79 def FSD : FPStore_r<0b011, "fsd", FPR64, WriteFST64>; 175 def FMV_X_D : FPUnaryOp_r<0b1110001, 0b00000, 0b000, GPR, FPR64, "fmv.x.d">, 179 def FMV_D_X : FPUnaryOp_r<0b1111001, 0b00000, 0b000, FPR64, GPR, "fmv.d.x">, 187 def : InstAlias<"fld $rd, (${rs1})", (FLD FPR64:$rd, GPR:$rs1, 0), 0>; 188 def : InstAlias<"fsd $rs2, (${rs1})", (FSD FPR64:$rs2, GPR:$rs1, 0), 0>; 190 def : InstAlias<"fmv.d $rd, $rs", (FSGNJ_D FPR64:$rd, FPR64:$rs, FPR64:$rs)>; 191 def : InstAlias<"fabs.d $rd, $rs", (FSGNJX_D FPR64:$rd, FPR64:$rs, FPR64:$rs)>; 192 def : InstAlias<"fneg.d $rd, $rs", (FSGNJN_D FPR64:$rd, FPR64:$rs, FPR64:$rs)>; [all …]
|
| H A D | RISCVInstrInfoZfa.td | 118 def FLI_D : FPFLI_r<0b1111001, 0b00001, 0b000, FPR64, "fli.d">, 122 def FMINM_D: FPALU_rr<0b0010101, 0b010, "fminm.d", FPR64, Commutable=1>; 123 def FMAXM_D: FPALU_rr<0b0010101, 0b011, "fmaxm.d", FPR64, Commutable=1>; 126 def FROUND_D : FPUnaryOp_r_frm<0b0100001, 0b00100, FPR64, FPR64, "fround.d">, 128 def FROUNDNX_D : FPUnaryOp_r_frm<0b0100001, 0b00101, FPR64, FPR64, "froundnx.d">, 133 : FPUnaryOp_r_rtz<0b1100001, 0b01000, GPR, FPR64, "fcvtmod.w.d">, 137 def FLTQ_D : FPCmp_rr<0b1010001, 0b101, "fltq.d", FPR64>; 138 def FLEQ_D : FPCmp_rr<0b1010001, 0b100, "fleq.d", FPR64>; 144 def FMVH_X_D : FPUnaryOp_r<0b1110001, 0b00001, 0b000, GPR, FPR64, "fmvh.x.d">, 146 def FMVP_D_X : FPBinaryOp_rr<0b1011001, 0b000, FPR64, GPR, "fmvp.d.x">, [all …]
|
| H A D | RISCVInstrInfoZfbfmin.td | 67 def : Pat<(bf16 (fpround FPR64:$rs1)), 68 (FCVT_BF16_S (FCVT_S_D FPR64:$rs1, FRM_DYN), FRM_DYN)>;
|
| H A D | RISCVScheduleXSf.td | 29 foreach f = ["FPR16", "FPR32", "FPR64"] in { 53 foreach f = ["FPR16", "FPR32", "FPR64"] in {
|
| H A D | RISCVInstrInfoC.td | 508 def C_FLDSP : CStackLoad<0b001, "c.fldsp", FPR64, uimm9_lsb000>, 568 def C_FSDSP : CStackStore<0b101, "c.fsdsp", FPR64, uimm9_lsb000>, 738 def : InstAlias<"c.fldsp $rd, (${rs1})", (C_FLDSP FPR64:$rd, SPMem:$rs1, 0)>; 739 def : InstAlias<"c.fsdsp $rs2, (${rs1})", (C_FSDSP FPR64:$rs2, SPMem:$rs1, 0)>; 988 def : CompressPat<(FLD FPR64:$rd, SPMem:$rs1, uimm9_lsb000:$imm), 989 (C_FLDSP FPR64:$rd, SPMem:$rs1, uimm9_lsb000:$imm)>; 1034 def : CompressPat<(FSD FPR64:$rs2, SPMem:$rs1, uimm9_lsb000:$imm), 1035 (C_FSDSP FPR64:$rs2, SPMem:$rs1, uimm9_lsb000:$imm)>;
|
| H A D | RISCVInstrInfoZfh.td | 60 ?, ?, FPR32, FPR64, FPR16>; 62 ?, ?, FPR32, FPR64, FPR16>; 597 def : Pat<(f16 (any_fpround FPR64:$rs1)), (FCVT_H_D FPR64:$rs1, FRM_DYN)>; 601 def : Pat<(f16 (fcopysign FPR16:$rs1, FPR64:$rs2)), 603 def : Pat<(fcopysign FPR64:$rs1, (f16 FPR16:$rs2)), (FSGNJ_D $rs1, (FCVT_D_H $rs2, FRM_RNE))>;
|
| H A D | RISCVInstrInfoXTHead.td | 457 def TH_FLRD : THLoadIndexed<FPR64, 0b01100, "th.flrd">, 459 def TH_FSRD : THStoreIndexed<FPR64, 0b01100, "th.fsrd">, 471 def TH_FLURD : THLoadIndexed<FPR64, 0b01110, "th.flurd">, 473 def TH_FSURD : THStoreIndexed<FPR64, 0b01110, "th.fsurd">, 826 defm : StIdxPat<store, TH_FSRD, FPR64, f64>; 836 defm : StZextIdxPat<store, TH_FSURD, FPR64, f64>;
|
| H A D | RISCVInstrInfoQ.td | 18 def QExt : ExtInfo<"", "", [HasStdExtQ], f128, FPR128, FPR32, FPR64, ?>;
|
| H A D | RISCVInstrInfoXSf.td | 735 !eq(Sew, 64) : FPR64); 739 !eq(Scalar, f64) : "FPR64");
|
| H A D | RISCVSchedSiFive7.td | 1043 foreach f = ["FPR16", "FPR32", "FPR64"] in { 1059 foreach f = ["FPR16", "FPR32", "FPR64"] in {
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64InstrInfo.td | 2293 def FJCVTZS : BaseFPToIntegerUnscaled<0b01, 0b11, 0b110, FPR64, GPR32, 2296 (int_aarch64_fjcvtzs FPR64:$Rn))]> { 2584 (COPY_TO_REGCLASS (MOVi64imm (bitcast_fpimm_to_i64 f64:$in)), FPR64)>; 3708 // Match all load 64 bits width whose type is compatible with FPR64 3831 // Match all load 64 bits width whose type is compatible with FPR64 4028 // Match all load 64 bits width whose type is compatible with FPR64 4508 // Match all store 64 bits width whose type is compatible with FPR64 4511 defm : VecROStorePat<ro64, v2i32, FPR64, STRDroW, STRDroX>; 4512 defm : VecROStorePat<ro64, v2f32, FPR64, STRDroW, STRDroX>; 4513 defm : VecROStorePat<ro64, v4i16, FPR64, STRDroW, STRDroX>; [all …]
|
| H A D | AArch64InstrFormats.td | 5274 def UWDr : BaseFPToIntegerUnscaled<0b01, rmode, opcode, FPR64, GPR32, asm, 5275 [(set GPR32:$Rd, (OpN (f64 FPR64:$Rn)))]> { 5280 def UXDr : BaseFPToIntegerUnscaled<0b01, rmode, opcode, FPR64, GPR64, asm, 5281 [(set GPR64:$Rd, (OpN (f64 FPR64:$Rn)))]> { 5288 def SDr : BaseFPToIntegerUnscaled<0b01, rmode, opcode, FPR64, FPR32, asm, 5300 def DHr : BaseFPToIntegerUnscaled<0b11, rmode, opcode, FPR16, FPR64, asm, 5306 def DSr : BaseFPToIntegerUnscaled<0b00, rmode, opcode, FPR32, FPR64, asm, 5351 def SWDri : BaseFPToInteger<0b01, rmode, opcode, FPR64, GPR32, 5353 [(set GPR32:$Rd, (OpN (fmul FPR64:$Rn, 5360 def SXDri : BaseFPToInteger<0b01, rmode, opcode, FPR64, GPR64, [all …]
|
| H A D | AArch64RegisterInfo.td | 515 def FPR64 : RegisterClass<"AArch64", [f64, i64, v2f32, v1f64, v8i8, v4i16, v2i32, 523 64, (trunc FPR64, 16)>; 554 def DSeqPairs : RegisterTuples<[dsub0, dsub1], [(rotl FPR64, 0), (rotl FPR64, 1)]>; 556 [(rotl FPR64, 0), (rotl FPR64, 1), 557 (rotl FPR64, 2)]>; 559 [(rotl FPR64, 0), (rotl FPR64, 1), 560 (rotl FPR64, 2), (rotl FPR64, 3)]>; 607 def V64 : RegisterOperand<FPR64, "printVRegOperand"> { 760 defm VecListOne : VectorList<1, FPR64, FPR128>; 788 def FPR64Op : RegisterOperand<FPR64, "printOperand"> { [all …]
|
| H A D | AArch64InstrGISel.td | 287 def : Pat<(f32 (fadd (vector_extract (v2f32 FPR64:$Rn), (i64 0)), 288 (vector_extract (v2f32 FPR64:$Rn), (i64 1)))), 289 (f32 (FADDPv2i32p (v2f32 FPR64:$Rn)))>;
|
| H A D | AArch64FrameLowering.cpp | 3186 enum RegType { GPR, FPR64, FPR128, PPR, ZPR, VG } Type; enumerator 3276 RPI.Type = RegPairInfo::FPR64; in computeCalleeSaveRegisterPairs() 3314 case RegPairInfo::FPR64: in computeCalleeSaveRegisterPairs() 3522 case RegPairInfo::FPR64: in spillCalleeSavedRegisters() 3752 case RegPairInfo::FPR64: in restoreCalleeSavedRegisters()
|
| H A D | AArch64SVEInstrInfo.td | 943 def : Pat<(nxv2f64 (splat_vector (f64 FPR64:$src))), 944 (DUP_ZZI_D (INSERT_SUBREG (IMPLICIT_DEF), FPR64:$src, dsub), 0)>; 3321 def : Pat<(nxv2i64 (vector_insert (nxv2i64 (undef)), (i64 FPR64:$src), 0)), 3322 (INSERT_SUBREG (nxv2i64 (IMPLICIT_DEF)), FPR64:$src, dsub)>; 3340 def : Pat<(nxv2f64 (vector_insert (nxv2f64 (undef)), (f64 FPR64:$src), 0)), 3341 (INSERT_SUBREG (nxv2f64 (IMPLICIT_DEF)), FPR64:$src, dsub)>; 3359 def : Pat<(nxv2f64 (vector_insert nxv2f64:$vec, (f64 FPR64:$src), 0)), 3360 (SEL_ZPZZ_D (PTRUE_D 1), (INSERT_SUBREG (IMPLICIT_DEF), FPR64:$src, dsub), ZPR:$vec)>; 3437 def : Pat<(nxv2f64 (vector_insert nxv2f64:$vec, (f64 FPR64:$src), GPR64:$index)),
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
| H A D | SystemZRegisterInfo.td | 221 class FPR64<bits<16> num, string n, FPR32 high> 228 class FPR128<bits<16> num, string n, FPR64 low, FPR64 high> 239 def F#I#D : FPR64<I, "f"#I, !cast<FPR32>("F"#I#"S")>, 245 def F#I#D : FPR64<I, "v"#I, !cast<FPR32>("F"#I#"S")>, 250 def F#I#Q : FPR128<I, "f"#I, !cast<FPR64>("F"#!add(I, 2)#"D"), 251 !cast<FPR64>("F"#I#"D")>; 270 // A full 128-bit vector register, with an FPR64 as its high part. 271 class VR128<bits<16> num, string n, FPR64 high> 279 def V#I : VR128<I, "v"#I, !cast<FPR64>("F"#I#"D")>,
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/ |
| H A D | AArch64MCTargetDesc.cpp | 323 const auto &FPR64 = AArch64MCRegisterClasses[AArch64::FPR64RegClassID]; in isFpOrNEON() local 332 return FPR128.contains(Reg) || FPR64.contains(Reg) || FPR32.contains(Reg) || in isFpOrNEON()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/ |
| H A D | CSKYRegisterInfo.td | 196 def FPR64 : RegisterClass<"CSKY", [f64], 32,
|
| H A D | CSKYInstrInfoF2.td | 26 let MIOperandInfo = (ops FPR64, uimm5); 30 def FPR64Op : RegisterOperand<FPR64, "printFPR">;
|