Home
last modified time | relevance | path

Searched refs:Pat (Results 1 – 25 of 159) sorted by relevance

1234567

/openbsd-src/gnu/llvm/llvm/lib/Target/Hexagon/
H A DHexagonDepMapAsm2Intrin.td14 def: Pat<(int_hexagon_A2_abs IntRegs:$src1),
16 def: Pat<(int_hexagon_A2_absp DoubleRegs:$src1),
18 def: Pat<(int_hexagon_A2_abssat IntRegs:$src1),
20 def: Pat<(int_hexagon_A2_add IntRegs:$src1, IntRegs:$src2),
22 def: Pat<(int_hexagon_A2_addh_h16_hh IntRegs:$src1, IntRegs:$src2),
24 def: Pat<(int_hexagon_A2_addh_h16_hl IntRegs:$src1, IntRegs:$src2),
26 def: Pat<(int_hexagon_A2_addh_h16_lh IntRegs:$src1, IntRegs:$src2),
28 def: Pat<(int_hexagon_A2_addh_h16_ll IntRegs:$src1, IntRegs:$src2),
30 def: Pat<(int_hexagon_A2_addh_h16_sat_hh IntRegs:$src1, IntRegs:$src2),
32 def: Pat<(int_hexagon_A2_addh_h16_sat_hl IntRegs:$src1, IntRegs:$src2),
[all …]
H A DHexagonIntrinsics.td12 : Pat <(IntID I32:$Rs),
16 : Pat <(IntID I32:$Rs, I32:$Rt),
20 : Pat <(IntID I32:$Rs, I64:$Rt),
23 def: Pat<(int_hexagon_A2_add IntRegs:$Rs, IntRegs:$Rt),
25 def: Pat<(int_hexagon_A2_addi IntRegs:$Rs, timm:$s16),
27 def: Pat<(int_hexagon_A2_addp DoubleRegs:$Rs, DoubleRegs:$Rt),
30 def: Pat<(int_hexagon_A2_sub IntRegs:$Rs, IntRegs:$Rt),
32 def: Pat<(int_hexagon_A2_subri timm:$s10, IntRegs:$Rs),
34 def: Pat<(int_hexagon_A2_subp DoubleRegs:$Rs, DoubleRegs:$Rt),
37 def: Pat<(int_hexagon_M2_mpyi IntRegs:$Rs, IntRegs:$Rt),
[all …]
H A DHexagonPatternsHVX.td126 def: Pat<(ResType (Load (add (i32 AddrFI:$fi), ImmPred:$Off))),
128 def: Pat<(ResType (Load (IsOrAdd (i32 AddrFI:$fi), ImmPred:$Off))),
130 def: Pat<(ResType (Load AddrFI:$fi)), (ResType (MI AddrFI:$fi, 0))>;
135 def: Pat<(ResType (Load (add I32:$Rt, ImmPred:$Off))),
137 def: Pat<(ResType (Load I32:$Rt)),
145 def: Pat<(ResType (Load (HexagonCP tconstpool:$Addr))),
147 def: Pat<(ResType (Load (HexagonAtPcrel tconstpool:$Addr))),
162 def: Pat<(ResType (Load (valignaddr I32:$Rt))),
164 def: Pat<(ResType (Load (add (valignaddr I32:$Rt), ImmPred:$Off))),
197 def: Pat<(Store Value:$Vs, (add (i32 AddrFI:$fi), ImmPred:$Off)),
[all …]
H A DHexagonMapAsm2IntrinV62.gen.td10 def: Pat<(IntID HvxVR:$src1, IntRegs:$src2),
12 def: Pat<(!cast<Intrinsic>(IntID#"_128B") HvxVR:$src1, IntRegs:$src2),
17 def: Pat<(IntID HvxVR:$src1, HvxVR:$src2, IntRegsLow8:$src3),
19 def: Pat<(!cast<Intrinsic>(IntID#"_128B") HvxVR:$src1, HvxVR:$src2,
25 def: Pat<(IntID HvxVR:$src1, HvxVR:$src2),
27 def: Pat<(!cast<Intrinsic>(IntID#"_128B") HvxVR:$src1, HvxVR:$src2),
32 def: Pat<(IntID HvxWR:$src1, HvxWR:$src2),
34 def: Pat<(!cast<Intrinsic>(IntID#"_128B") HvxWR:$src1, HvxWR:$src2),
39 def: Pat<(IntID HvxWR:$src1, HvxVR:$src2, HvxVR:$src3),
41 def: Pat<(!cast<Intrinsic>(IntID#"_128B") HvxWR:$src1, HvxVR:$src2,
[all …]
H A DHexagonIntrinsicsV60.td15 def : Pat < (v16i32 (int_hexagon_V6_lo (v32i32 HvxWR:$src1))),
18 def : Pat < (v16i32 (int_hexagon_V6_hi (v32i32 HvxWR:$src1))),
21 def : Pat < (v32i32 (int_hexagon_V6_lo_128B (v64i32 HvxWR:$src1))),
24 def : Pat < (v32i32 (int_hexagon_V6_hi_128B (v64i32 HvxWR:$src1))),
28 def : Pat <(v64i1 (bitconvert (v16i32 HvxVR:$src1))),
31 def : Pat <(v64i1 (bitconvert (v32i16 HvxVR:$src1))),
34 def : Pat <(v64i1 (bitconvert (v64i8 HvxVR:$src1))),
37 def : Pat <(v16i32 (bitconvert (v64i1 HvxQR:$src1))),
40 def : Pat <(v32i16 (bitconvert (v64i1 HvxQR:$src1))),
43 def : Pat <(v64i8 (bitconvert (v64i1 HvxQR:$src1))),
[all …]
H A DHexagonPatterns.td286 def: Pat<(IsOrAdd (i32 AddrFI:$Rs), s32_0ImmPred:$off),
323 : Pat<(ResVT (Op RegPred:$Rs)), (MI RegPred:$Rs)>;
327 : Pat<(ResType (Op RegPred:$Rs, ImmPred:$I)),
332 : Pat<(ResType (Op RsPred:$Rs, RtPred:$Rt)),
337 : Pat<(AccOp RegPred:$Rx, (Op RegPred:$Rs, ImmPred:$I)),
342 : Pat<(AccOp RxPred:$Rx, (Op RsPred:$Rs, RtPred:$Rt)),
347 def: Pat<(select (i1 (CmpOp Val:$A, Val:$B)), Val:$A, Val:$B),
349 def: Pat<(select (i1 (CmpOp Val:$A, Val:$B)), Val:$B, Val:$A),
356 def: Pat<(Sel (CmpType (CmpOp CmpPred:$Vs, CmpPred:$Vt)),
359 def: Pat<(Sel (CmpType (CmpOp CmpPred:$Vs, CmpPred:$Vt)),
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/VE/
H A DVEInstrIntrinsicVL.gen.td1 def : Pat<(int_ve_vl_vld_vssl i64:$sy, i64:$sz, i32:$vl), (VLDrrl i64:$sy, i64:$sz, i32:$vl)>;
2 def : Pat<(int_ve_vl_vld_vssvl i64:$sy, i64:$sz, v256f64:$pt, i32:$vl), (VLDrrl_v i64:$sy, i64:$sz,…
3 def : Pat<(int_ve_vl_vld_vssl simm7:$I, i64:$sz, i32:$vl), (VLDirl (LO7 $I), i64:$sz, i32:$vl)>;
4 def : Pat<(int_ve_vl_vld_vssvl simm7:$I, i64:$sz, v256f64:$pt, i32:$vl), (VLDirl_v (LO7 $I), i64:$s…
5 def : Pat<(int_ve_vl_vldnc_vssl i64:$sy, i64:$sz, i32:$vl), (VLDNCrrl i64:$sy, i64:$sz, i32:$vl)>;
6 def : Pat<(int_ve_vl_vldnc_vssvl i64:$sy, i64:$sz, v256f64:$pt, i32:$vl), (VLDNCrrl_v i64:$sy, i64:…
7 def : Pat<(int_ve_vl_vldnc_vssl simm7:$I, i64:$sz, i32:$vl), (VLDNCirl (LO7 $I), i64:$sz, i32:$vl)>;
8 def : Pat<(int_ve_vl_vldnc_vssvl simm7:$I, i64:$sz, v256f64:$pt, i32:$vl), (VLDNCirl_v (LO7 $I), i6…
9 def : Pat<(int_ve_vl_vldu_vssl i64:$sy, i64:$sz, i32:$vl), (VLDUrrl i64:$sy, i64:$sz, i32:$vl)>;
10 def : Pat<(int_ve_vl_vldu_vssvl i64:$sy, i64:$sz, v256f64:$pt, i32:$vl), (VLDUrrl_v i64:$sy, i64:$s…
[all …]
H A DVEInstrPatternsVec.td19 def: Pat<(i64 (repl_f32 f32:$val)),
23 def: Pat<(i64 (repl_i32 i32:$val)),
34 def : Pat<(v256i1 (load ADDRrii:$addr)),
36 def : Pat<(v512i1 (load ADDRrii:$addr)),
38 def : Pat<(store v256i1:$vx, ADDRrii:$addr),
40 def : Pat<(store v512i1:$vx, ADDRrii:$addr),
46 def : Pat<(v32 (vec_broadcast (s32 ImmOp:$sy), i32:$vl)),
50 def : Pat<(v32 (vec_broadcast s32:$sy, i32:$vl)),
57 def : Pat<(v64 (vec_broadcast (s64 ImmOp:$sy), i32:$vl)),
61 def : Pat<(v64 (vec_broadcast s64:$sy, i32:$vl)),
[all …]
H A DVEInstrIntrinsicVL.td6 def : Pat<(i64 (int_ve_vl_pack_f32p ADDRrii:$addr0, ADDRrii:$addr1)),
10 def : Pat<(i64 (int_ve_vl_pack_f32a ADDRrii:$addr)),
18 def : Pat<(v256i1 (int_ve_vl_extract_vm512u v512i1:$vm)),
21 def : Pat<(v256i1 (int_ve_vl_extract_vm512l v512i1:$vm)),
24 def : Pat<(v512i1 (int_ve_vl_insert_vm512u v512i1:$vmx, v256i1:$vmy)),
27 def : Pat<(v512i1 (int_ve_vl_insert_vm512l v512i1:$vmx, v256i1:$vmy)),
31 def : Pat<(int_ve_vl_vmrgw_vsvMl i32:$sy, v256f64:$vz, v512i1:$vm, i32:$vl),
33 def : Pat<(int_ve_vl_vmrgw_vsvMvl i32:$sy, v256f64:$vz, v512i1:$vm,
39 def : Pat<(int_ve_vl_vmv_vsvl i32:$sy, v256f64:$vz, i32:$vl),
41 def : Pat<(int_ve_vl_vmv_vsvvl i32:$sy, v256f64:$vz, v256f64:$pt, i32:$vl),
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/
H A DAArch64InstrAtomics.td17 def : Pat<(atomic_fence (timm), 0), (MEMBARRIER)>;
18 def : Pat<(atomic_fence (i64 4), (timm)), (DMB (i32 0x9))>;
19 def : Pat<(atomic_fence (timm), (timm)), (DMB (i32 0xb))>;
54 def : Pat<(acquiring_load<atomic_load_8> GPR64sp:$ptr), (LDAPRB GPR64sp:$ptr)>;
56 def : Pat<(acquiring_load<atomic_load_16> GPR64sp:$ptr), (LDAPRH GPR64sp:$ptr)>;
58 def : Pat<(acquiring_load<atomic_load_32> GPR64sp:$ptr), (LDAPRW GPR64sp:$ptr)>;
60 def : Pat<(acquiring_load<atomic_load_64> GPR64sp:$ptr), (LDAPRX GPR64sp:$ptr)>;
64 def : Pat<(seq_cst_load<atomic_load_az_8> GPR64sp:$ptr), (LDARB GPR64sp:$ptr)>;
65 def : Pat<(acquiring_load<atomic_load_az_8> GPR64sp:$ptr), (LDARB GPR64sp:$ptr)>;
66 def : Pat<(relaxed_load<atomic_load_az_8> (ro_Windexed8 GPR64sp:$Rn, GPR32:$Rm,
[all …]
H A DAArch64InstrInfo.td929 def : Pat<(AArch64LOADgot tglobaltlsaddr:$addr),
932 def : Pat<(AArch64LOADgot texternalsym:$addr),
935 def : Pat<(AArch64LOADgot tconstpool:$addr),
1083 def : Pat<(v2f32 (int_aarch64_neon_bfdot
1159 : Pat<(VecTy (OpNode (VecTy V128:$Vd), (VecTy V128:$Vn), (VecTy V128:$Vm))),
1162 def : Pat<(v2i64 (int_aarch64_crypto_sha512su0 (v2i64 V128:$Vn), (v2i64 V128:$Vm))),
1175 : Pat<(xor (xor (VecTy V128:$Vn), (VecTy V128:$Vm)), (VecTy V128:$Va)),
1184 : Pat<(xor (VecTy V128:$Vn), (and (VecTy V128:$Vm), (vnot (VecTy V128:$Va)))),
1207 def : Pat<(v2i64 (int_aarch64_crypto_rax1 (v2i64 V128:$Vn), (v2i64 V128:$Vm))),
1210 def : Pat<(v2i64 (int_aarch64_crypto_xar (v2i64 V128:$Vn), (v2i64 V128:$Vm), (i64 timm0_63:$imm))),
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/X86/
H A DX86InstrVecCompiler.td10 // compiler, as well as Pat patterns used during instruction selection.
20 def : Pat<(f16 (extractelt (v8f16 VR128:$src), (iPTR 0))),
22 def : Pat<(f32 (extractelt (v4f32 VR128:$src), (iPTR 0))),
24 def : Pat<(f64 (extractelt (v2f64 VR128:$src), (iPTR 0))),
30 def : Pat<(f16 (extractelt (v8f16 VR128X:$src), (iPTR 0))),
32 def : Pat<(f32 (extractelt (v4f32 VR128X:$src), (iPTR 0))),
34 def : Pat<(f64 (extractelt (v2f64 VR128X:$src), (iPTR 0))),
39 def : Pat<(v8f16 (scalar_to_vector FR16:$src)),
42 def : Pat<(v4f32 (scalar_to_vector FR32:$src)),
45 def : Pat<(v2f64 (scalar_to_vector FR64:$src)),
[all …]
H A DX86InstrCompiler.td10 // as well as Pat patterns used during instruction selection.
48 def : Pat<(X86callseq_start timm:$amt1, timm:$amt2),
66 def : Pat<(X86callseq_start timm:$amt1, timm:$amt2),
328 def : Pat<(i8 0), (EXTRACT_SUBREG (MOV32r0), sub_8bit)>;
329 def : Pat<(i16 0), (EXTRACT_SUBREG (MOV32r0), sub_16bit)>;
330 def : Pat<(i64 0), (SUBREG_TO_REG (i64 0), (MOV32r0), sub_32bit)>;
347 def : Pat<(i16 1), (EXTRACT_SUBREG (MOV32r1), sub_16bit)>;
348 def : Pat<(i16 -1), (EXTRACT_SUBREG (MOV32r_1), sub_16bit)>;
373 def : Pat<(i64 mov64imm32:$src), (MOV32ri64 mov64imm32:$src)>;
378 // FIXME: These are pseudo ops that should be replaced with Pat<> patterns.
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/PowerPC/
H A DPPCInstrVSX.td280 def : Pat<(Ty (scalar_to_vector In)), (Ty NonPermOut)>;
281 def : Pat<(Ty (PPCSToV In)), (Ty PermOut)>;
2482 def : Pat<(v16i8 (int_ppc_altivec_crypto_vpermxor v16i8:$a,
2487 def : Pat<(v16i8 (int_ppc_altivec_crypto_vpermxor v16i8:$a,
2491 def : Pat<(v16i8 (int_ppc_altivec_crypto_vpermxor_be v16i8:$a,
2498 def : Pat<(v4i32 (vnot v4i32:$A)),
2500 def : Pat<(v4i32 (or (and (vnot v4i32:$C), v4i32:$A),
2504 def : Pat<(f64 (fpimm0neg)),
2507 def : Pat<(f32 (fpimm0neg)),
2510 def : Pat<(f64 (nzFPImmExactInti5:$A)),
[all …]
H A DPPCInstrHTM.td97 def : Pat<(int_ppc_tbegin i32:$R),
100 def : Pat<(int_ppc_tend i32:$R),
103 def : Pat<(int_ppc_tabort i32:$R),
106 def : Pat<(int_ppc_tabortwc i32:$TO, i32:$RA, i32:$RB),
109 def : Pat<(int_ppc_tabortwci i32:$TO, i32:$RA, i32:$SI),
112 def : Pat<(int_ppc_tabortdc i32:$TO, i32:$RA, i32:$RB),
115 def : Pat<(int_ppc_tabortdci i32:$TO, i32:$RA, i32:$SI),
118 def : Pat<(int_ppc_tcheck),
121 def : Pat<(int_ppc_treclaim i32:$RA),
124 def : Pat<(int_ppc_trechkpt),
[all …]
H A DPPCInstrMMA.td645 def : Pat<(v512i1 (int_ppc_mma_xvi4ger8 v16i8:$XA, v16i8:$XB)),
647 def : Pat<(v512i1 (int_ppc_mma_xvi4ger8pp v512i1:$ATi, v16i8:$XA, v16i8:$XB)),
650 def : Pat<(v512i1 (int_ppc_mma_xvi8ger4 v16i8:$XA, v16i8:$XB)),
652 def : Pat<(v512i1 (int_ppc_mma_xvi8ger4pp v512i1:$ATi, v16i8:$XA, v16i8:$XB)),
655 def : Pat<(v512i1 (int_ppc_mma_xvi16ger2s v16i8:$XA, v16i8:$XB)),
657 def : Pat<(v512i1 (int_ppc_mma_xvi16ger2spp v512i1:$ATi, v16i8:$XA, v16i8:$XB)),
662 def : Pat<(v512i1 (int_ppc_mma_xvi4ger8 v16i8:$XA, v16i8:$XB)),
664 def : Pat<(v512i1 (int_ppc_mma_xvi4ger8pp v512i1:$ATi, v16i8:$XA, v16i8:$XB)),
667 def : Pat<(v512i1 (int_ppc_mma_xvi8ger4 v16i8:$XA, v16i8:$XB)),
669 def : Pat<(v512i1 (int_ppc_mma_xvi8ger4pp v512i1:$ATi, v16i8:$XA, v16i8:$XB)),
[all …]
H A DPPCInstrP10.td1043 def : Pat<(v256i1 (PPCPairBuild v4i32:$vs1, v4i32:$vs0)),
1045 def : Pat<(v256i1 (int_ppc_vsx_assemble_pair v16i8:$vs1, v16i8:$vs0)),
1047 def : Pat<(v4i32 (PPCPairExtractVsx vsrpevenrc:$v, 0)),
1049 def : Pat<(v4i32 (PPCPairExtractVsx vsrpevenrc:$v, 1)),
1087 def : Pat<(v256i1 (int_ppc_vsx_lxvp DQForm:$src)), (LXVP memrix16:$src)>;
1088 def : Pat<(v256i1 (int_ppc_vsx_lxvp XForm:$src)), (LXVPX XForm:$src)>;
1090 def : Pat<(v256i1 (int_ppc_vsx_lxvp PDForm:$src)), (PLXVP memri34:$src)>;
1093 def : Pat<(int_ppc_vsx_stxvp v256i1:$XSp, DQForm:$dst),
1095 def : Pat<(int_ppc_vsx_stxvp v256i1:$XSp, XForm:$dst),
1098 def : Pat<(int_ppc_vsx_stxvp v256i1:$XSp, PDForm:$dst),
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/
H A DRISCVInstrInfoXVentana.td33 def : Pat<(select GPR:$rc, GPR:$rs1, (i64 0)),
35 def : Pat<(select GPR:$rc, (i64 0), GPR:$rs1),
38 def : Pat<(select (i64 (setne GPR:$rc, (i64 0))), GPR:$rs1, (i64 0)),
40 def : Pat<(select (i64 (seteq GPR:$rc, (i64 0))), GPR:$rs1, (i64 0)),
42 def : Pat<(select (i64 (setne GPR:$rc, (i64 0))), (i64 0), GPR:$rs1),
44 def : Pat<(select (i64 (seteq GPR:$rc, (i64 0))), (i64 0), GPR:$rs1),
47 def : Pat<(select (i64 (setne GPR:$x, simm12_plus1:$y)), GPR:$rs1, (i64 0)),
49 def : Pat<(select (i64 (seteq GPR:$x, simm12_plus1:$y)), GPR:$rs1, (i64 0)),
51 def : Pat<(select (i64 (setne GPR:$x, simm12_plus1:$y)), (i64 0), GPR:$rs1),
53 def : Pat<(select (i64 (seteq GPR:$x, simm12_plus1:$y)), (i64 0), GPR:$rs1),
[all …]
H A DRISCVInstrInfoZfh.td259 def : Pat<(f16 (fpimmneg0)), (FSGNJN_H (FMV_H_X X0), (FMV_H_X X0))>;
273 def : Pat<(any_fsqrt FPR16:$rs1), (FSQRT_H FPR16:$rs1, 0b111)>;
275 def : Pat<(fneg FPR16:$rs1), (FSGNJN_H $rs1, $rs1)>;
276 def : Pat<(fabs FPR16:$rs1), (FSGNJX_H $rs1, $rs1)>;
279 def : Pat<(fcopysign FPR16:$rs1, (fneg FPR16:$rs2)), (FSGNJN_H $rs1, $rs2)>;
280 def : Pat<(fcopysign FPR16:$rs1, FPR32:$rs2),
284 def : Pat<(any_fma FPR16:$rs1, FPR16:$rs2, FPR16:$rs3),
288 def : Pat<(any_fma FPR16:$rs1, FPR16:$rs2, (fneg FPR16:$rs3)),
292 def : Pat<(any_fma (fneg FPR16:$rs1), FPR16:$rs2, FPR16:$rs3),
296 def : Pat<(any_fma (fneg FPR16:$rs1), FPR16:$rs2, (fneg FPR16:$rs3)),
[all …]
H A DRISCVInstrInfoZb.td525 def : Pat<(and GPR:$rs1, (not GPR:$rs2)), (ANDN GPR:$rs1, GPR:$rs2)>;
526 def : Pat<(or GPR:$rs1, (not GPR:$rs2)), (ORN GPR:$rs1, GPR:$rs2)>;
527 def : Pat<(xor GPR:$rs1, (not GPR:$rs2)), (XNOR GPR:$rs1, GPR:$rs2)>;
537 def : Pat<(rotl GPR:$rs1, uimmlog2xlen:$shamt),
545 def : Pat<(riscv_rolw GPR:$rs1, uimm5:$rs2),
550 def : Pat<(and (not (shiftop<shl> 1, GPR:$rs2)), GPR:$rs1),
552 def : Pat<(and (rotl -2, GPR:$rs2), GPR:$rs1), (BCLR GPR:$rs1, GPR:$rs2)>;
553 def : Pat<(or (shiftop<shl> 1, GPR:$rs2), GPR:$rs1),
555 def : Pat<(xor (shiftop<shl> 1, GPR:$rs2), GPR:$rs1),
557 def : Pat<(and (shiftop<srl> GPR:$rs1, GPR:$rs2), 1),
[all …]
H A DRISCVInstrInfoD.td259 def : Pat<(any_fpround FPR64:$rs1), (FCVT_S_D FPR64:$rs1, 0b111)>;
260 def : Pat<(any_fpextend FPR32:$rs1), (FCVT_D_S FPR32:$rs1)>;
272 def : Pat<(any_fsqrt FPR64:$rs1), (FSQRT_D FPR64:$rs1, 0b111)>;
274 def : Pat<(fneg FPR64:$rs1), (FSGNJN_D $rs1, $rs1)>;
275 def : Pat<(fabs FPR64:$rs1), (FSGNJX_D $rs1, $rs1)>;
278 def : Pat<(fcopysign FPR64:$rs1, (fneg FPR64:$rs2)), (FSGNJN_D $rs1, $rs2)>;
279 def : Pat<(fcopysign FPR64:$rs1, FPR32:$rs2), (FSGNJ_D $rs1, (FCVT_D_S $rs2))>;
280 def : Pat<(fcopysign FPR32:$rs1, FPR64:$rs2), (FSGNJ_S $rs1, (FCVT_S_D $rs2,
284 def : Pat<(any_fma FPR64:$rs1, FPR64:$rs2, FPR64:$rs3),
288 def : Pat<(any_fma FPR64:$rs1, FPR64:$rs2, (fneg FPR64:$rs3)),
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/M68k/
H A DM68kInstrCompiler.td11 /// as well as Pat patterns used during instruction selection.
19 def : Pat<(i32 (MxWrapper tconstpool :$src)), (MOV32ri tconstpool :$src)>;
20 def : Pat<(i32 (MxWrapper tglobaladdr :$src)), (MOV32ri tglobaladdr :$src)>;
21 def : Pat<(i32 (MxWrapper texternalsym :$src)), (MOV32ri texternalsym :$src)>;
22 def : Pat<(i32 (MxWrapper tjumptable :$src)), (MOV32ri tjumptable :$src)>;
23 def : Pat<(i32 (MxWrapper tblockaddress :$src)), (MOV32ri tblockaddress :$src)>;
25 def : Pat<(add MxDRD32:$src, (MxWrapper tconstpool:$opd)),
27 def : Pat<(add MxARD32:$src, (MxWrapper tjumptable:$opd)),
29 def : Pat<(add MxARD32:$src, (MxWrapper tglobaladdr :$opd)),
31 def : Pat<(add MxARD32:$src, (MxWrapper texternalsym:$opd)),
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/CSKY/
H A DCSKYInstrInfoF2.td109 def : Pat<(f32 (load constpool:$src)), (f2FLRW_S (to_tconstpool tconstpool:$src))>, Requires<[HasFP…
110 def : Pat<(f64 (load constpool:$src)), (f2FLRW_D (to_tconstpool tconstpool:$src))>, Requires<[HasFP…
240 def : Pat<(i32 (fp_to_sint (fround FPR32Op:$vrx))), (COPY_TO_REGCLASS (f2FF32TOSI32_RN $vrx), GPR)…
241 def : Pat<(i32 (fp_to_uint (fround FPR32Op:$vrx))), (COPY_TO_REGCLASS (f2FF32TOUI32_RN $vrx), GPR)…
242 def : Pat<(i32 (fp_to_sint (fceil FPR32Op:$vrx))), (COPY_TO_REGCLASS (f2FF32TOSI32_RPI $vrx), GPR)…
243 def : Pat<(i32 (fp_to_uint (fceil FPR32Op:$vrx))), (COPY_TO_REGCLASS (f2FF32TOUI32_RPI $vrx), GPR)…
244 def : Pat<(i32 (fp_to_sint (ffloor FPR32Op:$vrx))), (COPY_TO_REGCLASS (f2FF32TOSI32_RNI $vrx), GPR)…
245 def : Pat<(i32 (fp_to_uint (ffloor FPR32Op:$vrx))), (COPY_TO_REGCLASS (f2FF32TOUI32_RNI $vrx), GPR)…
246 def : Pat<(i32 (fp_to_sint (ftrunc FPR32Op:$vrx))), (COPY_TO_REGCLASS (f2FF32TOSI32_RZ $vrx), GPR)…
247 def : Pat<(i32 (fp_to_uint (ftrunc FPR32Op:$vrx))), (COPY_TO_REGCLASS (f2FF32TOUI32_RZ $vrx), GPR)…
[all …]
H A DCSKYInstrInfoF1.td168 def : Pat<(f32 (sint_to_fp GPR:$a)),
173 def : Pat<(f32 (uint_to_fp GPR:$a)),
178 def : Pat<(f64 (sint_to_fp GPR:$a)),
183 def : Pat<(f64 (uint_to_fp GPR:$a)),
213 def : Pat<(i32 (fp_to_sint (round sFPR32Op:$Rn))),
216 def : Pat<(i32 (fp_to_uint (round sFPR32Op:$Rn))),
219 def : Pat<(i32 (fp_to_sint (round sFPR64Op:$Rn))),
222 def : Pat<(i32 (fp_to_uint (round sFPR64Op:$Rn))),
232 def : Pat<(i32 (fp_to_sint sFPR32Op:$Rn)),
235 def : Pat<(i32 (fp_to_uint sFPR32Op:$Rn)),
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/Sparc/
H A DSparcInstr64Bit.td21 def : Pat<(i64 (anyext i32:$val)), (COPY_TO_REGCLASS $val, I64Regs)>;
22 def : Pat<(i32 (trunc i64:$val)), (COPY_TO_REGCLASS $val, IntRegs)>;
39 def : Pat<(i64 (zext i32:$val)), (SRLri $val, 0)>;
40 def : Pat<(i64 (sext i32:$val)), (SRAri $val, 0)>;
42 def : Pat<(i64 (and i64:$val, 0xffffffff)), (SRLri $val, 0)>;
43 def : Pat<(i64 (sext_inreg i64:$val, i32)), (SRAri $val, 0)>;
64 def : Pat<(i64 0), (COPY (i64 G0))>,
71 def : Pat<(i64 simm13:$val), (ORri (i64 G0), (as_i32imm $val))>;
72 def : Pat<(i64 SETHIimm:$val), (SETHIi (HI22 $val))>;
78 def : Pat<(i64 uimm32:$val), (ORri (SETHIi (HI22 $val)), (LO10 $val))>,
[all …]

1234567