Lines Matching refs:DoubleRegs
24 def I64 : PatLeaf<(i64 DoubleRegs:$R)>;
26 def F64 : PatLeaf<(f64 DoubleRegs:$R)>;
239 let OutOperandList = (outs DoubleRegs:$Rd), hasNewValue = 0 in {
330 def A2_combineii: ALU32Inst <(outs DoubleRegs:$Rdd), (ins s8Ext:$s8, s8Imm:$S8),
332 [(set (i64 DoubleRegs:$Rdd),
562 : ALU32_rr <(outs DoubleRegs:$dst),
563 (ins PredRegs:$src1, DoubleRegs:$src2),
573 class T_tfrp : ALU32Inst <(outs DoubleRegs:$dst),
574 (ins DoubleRegs:$src),
643 def A2_tfrpi : ALU64_rr<(outs DoubleRegs:$dst), (ins s8Imm64:$src1),
645 [(set (i64 DoubleRegs:$dst), s8Imm64Pred:$src1)]>;
650 def TFRI64_V4 : ALU64_rr<(outs DoubleRegs:$dst), (ins u64Imm:$src1),
652 def TFRI64_V2_ext : ALU64_rr<(outs DoubleRegs:$dst),
723 def MUX64_rr : ALU64_rr<(outs DoubleRegs:$Rd),
724 (ins PredRegs:$Pu, DoubleRegs:$Rs, DoubleRegs:$Rt),
850 : ALU64_rr < (outs DoubleRegs:$Rdd),
851 (ins DoubleRegs:$Rss, DoubleRegs:$Rtt),
957 (ins DoubleRegs:$Rss, DoubleRegs:$Rtt),
975 : Pat<(i1 (Op (T DoubleRegs:$Rss), (T DoubleRegs:$Rtt))),
976 (i1 (MI DoubleRegs:$Rss, DoubleRegs:$Rtt))>;
1125 (ins DoubleRegs:$Rs, DoubleRegs:$Rt),
1209 : ALU64_rr<(outs PredRegs:$Pd), (ins DoubleRegs:$Rs, DoubleRegs:$Rt),
1232 : Pat<(i1 (CmpOp (i64 DoubleRegs:$Rs), (i64 DoubleRegs:$Rt))),
1233 (i1 (MI DoubleRegs:$Rs, DoubleRegs:$Rt))>;
1241 def C2_vmux : ALU64_rr<(outs DoubleRegs:$Rd),
1242 (ins PredRegs:$Pu, DoubleRegs:$Rs, DoubleRegs:$Rt),
1262 : ALU64_rr<(outs DoubleRegs:$Rd), (ins DoubleRegs:$Rs, DoubleRegs:$Rt),
1405 def C2_mask : SInst<(outs DoubleRegs:$Rd), (ins PredRegs:$Pt),
1638 let hasNewValue = !if (!eq(!cast<string>(RC), "DoubleRegs"), 0, 1);
1723 defm loadrd: LD_Idxd <"memd", "LDrid", DoubleRegs, s11_3Ext, u6_3Ext, 0b1110>;
1731 def L2_loadbzw4_io: T_load_io<"memubh", DoubleRegs, 0b0101, s11_2Ext>;
1732 def L2_loadbsw4_io: T_load_io<"membh", DoubleRegs, 0b0111, s11_2Ext>;
1738 : LDInst<(outs DoubleRegs:$dst),
1739 (ins DoubleRegs:$src1, IntRegs:$src2, ImmOp:$offset),
1920 defm loadrd : LD_PostInc <"memd", "LDrid", DoubleRegs, s4_3Imm, 0b1110>;
1929 def L2_loadbsw4_pi : T_load_pi <"membh", DoubleRegs, s4_2Imm, 0b0111>;
1930 def L2_loadbzw4_pi : T_load_pi <"memubh", DoubleRegs, s4_2Imm, 0b0101>;
1938 : LDInstPI <(outs DoubleRegs:$dst, IntRegs:$dst2),
1939 (ins DoubleRegs:$src1, IntRegs:$src2, ImmOp:$offset),
2004 def L2_loadrd_pr : T_load_pr <"memd", DoubleRegs, 0b1110, DoubleWordAccess>;
2005 def L2_loadbzw4_pr : T_load_pr <"memubh", DoubleRegs, 0b0101, WordAccess>;
2036 let hasNewValue = !if (!eq(!cast<string>(RC), "DoubleRegs"), 0, 1);
2064 def L2_loadbzw4_pcr : T_load_pcr <"memubh", DoubleRegs, 0b0101>;
2065 def L2_loadbsw4_pcr : T_load_pcr <"membh", DoubleRegs, 0b0111>;
2070 def L2_loadrd_pcr : T_load_pcr <"memd", DoubleRegs, 0b1110>;
2075 : LDInst <(outs DoubleRegs:$dst, IntRegs:$_dst_),
2076 (ins DoubleRegs:$_src_, IntRegs:$Rz, ModRegs:$Mu),
2116 let hasNewValue = !if (!eq(!cast<string>(RC), "DoubleRegs"), 0, 1);
2151 def L2_loadbzw4_pci : T_load_pci <"memubh", DoubleRegs, s4_2Imm, 0b0101>;
2152 def L2_loadbsw4_pci : T_load_pci <"membh", DoubleRegs, s4_2Imm, 0b0111>;
2156 def L2_loadrd_pci : T_load_pci <"memd", DoubleRegs, s4_3Imm, 0b1110>;
2178 def L2_loadrd_pci_pseudo : T_load_pci_pseudo <"memd", DoubleRegs>;
2184 def L2_loadalignb_pci : T_load_pci <"memb_fifo", DoubleRegs, s4_0Imm, 0b0100>;
2187 def L2_loadalignh_pci : T_load_pci <"memh_fifo", DoubleRegs, s4_1Imm, 0b0010>;
2207 def L4_loadd_locked : T_load_locked <"memd_locked", DoubleRegs>;
2231 def S4_stored_locked : T_store_locked <"memd_locked", DoubleRegs>;
2272 def L2_loadbzw4_pbr : T_load_pbr <"memubh", DoubleRegs, WordAccess, 0b0101>;
2273 def L2_loadbsw4_pbr : T_load_pbr <"membh", DoubleRegs, WordAccess, 0b0111>;
2274 def L2_loadrd_pbr : T_load_pbr <"memd", DoubleRegs, DoubleWordAccess, 0b1110>;
2276 def L2_loadalignb_pbr :T_load_pbr <"memb_fifo", DoubleRegs, ByteAccess, 0b0100>;
2277 def L2_loadalignh_pbr :T_load_pbr <"memh_fifo", DoubleRegs,
2298 def L2_loadrd_pbr_pseudo : T_load_pbr_pseudo <"memd", DoubleRegs>;
2508 : MInst_acc<(outs DoubleRegs:$Rxx),
2509 (ins DoubleRegs:$dst2, IntRegs:$Rs, IntRegs:$Rt),
2578 : MInst <(outs DoubleRegs:$Rdd), (ins DoubleRegs:$Rss, DoubleRegs:$Rtt),
2666 : T_MType_mpy <mnemonic, 0b1001, DoubleRegs, MajOp, MinOp, 1, 1, "", 1, isHi>;
2670 : T_MType_mpy <mnemonic, 0b1001, DoubleRegs, MajOp, MinOp, isSat, isRnd>;
2864 : MInst <(outs DoubleRegs:$Rdd), (ins DoubleRegs:$Rss, DoubleRegs:$Rtt),
2882 : MInst <(outs DoubleRegs:$Rdd),
2883 (ins DoubleRegs:$dst2, DoubleRegs:$Rss, DoubleRegs:$Rtt),
2901 : MInst <(outs DoubleRegs:$Rdd), (ins DoubleRegs:$Rtt, DoubleRegs:$Rss),
2956 : MInst <(outs DoubleRegs:$Rxx),
2957 (ins DoubleRegs:$dst2, DoubleRegs:$Rss, DoubleRegs:$Rtt),
2977 : MInst <(outs DoubleRegs:$Rxx),
2978 (ins DoubleRegs:$dst2, DoubleRegs:$Rss, DoubleRegs:$Rtt),
3041 : MInst < (outs DoubleRegs:$Rdd), (ins IntRegs:$Rs, IntRegs:$Rt),
3103 : MInst <(outs DoubleRegs:$Rdd),
3131 : MInst <(outs DoubleRegs:$Rxx),
3132 (ins DoubleRegs:$dst2, IntRegs:$Rs, IntRegs:$Rt),
3215 (M2_dpmpyss_s0 (LoReg DoubleRegs:$src1), (LoReg DoubleRegs:$src2))>;
3220 def: Pat<(i64 (add (i64 DoubleRegs:$src1),
3223 (M2_dpmpyss_acc_s0 DoubleRegs:$src1, IntRegs:$src2, IntRegs:$src3)>;
3225 def: Pat<(i64 (sub (i64 DoubleRegs:$src1),
3228 (M2_dpmpyss_nac_s0 DoubleRegs:$src1, IntRegs:$src2, IntRegs:$src3)>;
3230 def: Pat<(i64 (add (i64 DoubleRegs:$src1),
3233 (M2_dpmpyuu_acc_s0 DoubleRegs:$src1, IntRegs:$src2, IntRegs:$src3)>;
3235 def: Pat<(i64 (add (i64 DoubleRegs:$src1),
3238 (M2_dpmpyuu_acc_s0 DoubleRegs:$src1, IntRegs:$src2, IntRegs:$src3)>;
3240 def: Pat<(i64 (sub (i64 DoubleRegs:$src1),
3243 (M2_dpmpyuu_nac_s0 DoubleRegs:$src1, IntRegs:$src2, IntRegs:$src3)>;
3245 def: Pat<(i64 (sub (i64 DoubleRegs:$src1),
3248 (M2_dpmpyuu_nac_s0 DoubleRegs:$src1, IntRegs:$src2, IntRegs:$src3)>;
3386 defm storerd: ST_PostInc <"memd", "STrid", DoubleRegs, s4_3Imm, 0b1110>;
3431 def S2_storerd_pr : T_store_pr<"memd", DoubleRegs, 0b110, DoubleWordAccess>;
3543 defm storerd: ST_Idxd < "memd", "STrid", DoubleRegs, s11_3Ext,
3711 def S2_storerd_pci : T_store_pci<"memd", DoubleRegs, s4_3Imm, 0b1110,
3765 def S2_storerd_pci_pseudo : T_store_pci_pseudo <"memd", DoubleRegs>;
3799 def S2_storerd_pcr : T_store_pcr<"memd", DoubleRegs, 0b1110, DoubleWordAccess>;
3876 def S2_storerd_pbr : T_store_pbr<"memd", DoubleRegs, DoubleWordAccess, 0b110>;
3930 def S2_storerd_pbr_pseudo : T_store_pbr_pseudo <"memd", DoubleRegs>;
3959 : T_S2op_1 <mnemonic, 0b0100, DoubleRegs, IntRegs, MajOp, MinOp, 0>;
3963 : T_S2op_1 <mnemonic, 0b1000, IntRegs, DoubleRegs, MajOp, MinOp, isSat>;
4071 : T_S2op_2 <mnemonic, 0b1000, DoubleRegs, IntRegs, MajOp, MinOp, 0, 0>;
4075 : T_S2op_2 <mnemonic, 0b1000, IntRegs, DoubleRegs, MajOp, MinOp, 0, 0>;
4121 : SInst<(outs DoubleRegs:$Rdd), (ins DoubleRegs:$Rss),
4159 def : Pat<(not (i64 DoubleRegs:$src1)),
4160 (A2_notp DoubleRegs:$src1)>;
4189 (outs IntRegs:$Rd), (ins DoubleRegs:$Rs)>;
4321 def: Pat<(i1 (trunc (i64 DoubleRegs:$Rs))),
4322 (S2_tstbit_i (LoReg DoubleRegs:$Rs), 0)>;
4463 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, Imm:$src2),
4478 [(set (i64 DoubleRegs:$dst), (OpNode (i64 DoubleRegs:$src1),
4734 def A4_tfrpcp : TFR_CR_RS_base<CtrRegs64, DoubleRegs, 0b1>;
4756 def A4_tfrcpp : TFR_RD_CR_base<DoubleRegs, CtrRegs64, 0>;
4858 def CONST64_Int_Real : CONSTLDInst<(outs DoubleRegs:$dst), (ins i64imm:$global),
4860 [(set (i64 DoubleRegs:$dst), imm:$global)]>;
4956 def: Pat<(i64 (sext_inreg (i64 DoubleRegs:$src1), i32)),
4957 (A2_sxtw (LoReg DoubleRegs:$src1))>;
4960 def: Pat<(i64 (sext_inreg (i64 DoubleRegs:$src1), i16)),
4961 (A2_sxtw (A2_sxth (LoReg DoubleRegs:$src1)))>;
4964 def: Pat<(i64 (sext_inreg (i64 DoubleRegs:$src1), i8)),
4965 (A2_sxtw (A2_sxtb (LoReg DoubleRegs:$src1)))>;
4991 def: Pat<(select (i1 PredRegs:$src1), (i64 DoubleRegs:$src2),
4992 (i64 DoubleRegs:$src3)),
4993 (A2_combinew (C2_mux PredRegs:$src1, (HiReg DoubleRegs:$src2),
4994 (HiReg DoubleRegs:$src3)),
4995 (C2_mux PredRegs:$src1, (LoReg DoubleRegs:$src2),
4996 (LoReg DoubleRegs:$src3)))>;
5005 def: Pat<(i32 (trunc (i64 DoubleRegs:$src))),
5006 (LoReg DoubleRegs:$src)>;
5009 def: Pat<(i1 (trunc (i64 DoubleRegs:$src))),
5010 (C2_tfrrp (LoReg DoubleRegs:$src))>;
5022 def: Pat<(i1 (setle (i64 DoubleRegs:$src1), (i64 DoubleRegs:$src2))),
5023 (C2_not (C2_cmpgtp DoubleRegs:$src1, DoubleRegs:$src2))>;
5038 def: Pat<(i1 (setne (i64 DoubleRegs:$src1), (i64 DoubleRegs:$src2))),
5039 (C2_not (C2_cmpeqp DoubleRegs:$src1, DoubleRegs:$src2))>;
5053 def: Pat<(i1 (setge (i64 DoubleRegs:$src1), (i64 DoubleRegs:$src2))),
5054 (C2_not (C2_cmpgtp DoubleRegs:$src2, DoubleRegs:$src1))>;
5078 def: Pat<(i1 (setuge (i64 DoubleRegs:$src1), (i64 DoubleRegs:$src2))),
5079 (C2_not (C2_cmpgtup DoubleRegs:$src2, DoubleRegs:$src1))>;
5083 def: Pat<(i1 (setule (i64 DoubleRegs:$src1), (i64 DoubleRegs:$src2))),
5084 (C2_not (C2_cmpgtup DoubleRegs:$src1, DoubleRegs:$src2))>;
5109 def : Pat <(mulhu (i64 DoubleRegs:$src1), (i64 DoubleRegs:$src2)),
5233 : SInst_acc<(outs DoubleRegs:$Rxx),
5234 (ins DoubleRegs:$src1, DoubleRegs:$Rss, u6Imm:$u6),
5236 [(set (i64 DoubleRegs:$Rxx),
5237 (OpNode2 (i64 DoubleRegs:$src1),
5238 (OpNode1 (i64 DoubleRegs:$Rss), u6ImmPred:$u6)))],
5263 : SInst_acc<(outs DoubleRegs:$Rxx),
5264 (ins DoubleRegs:$src1, DoubleRegs:$Rss, IntRegs:$Rt),
5266 [(set (i64 DoubleRegs:$Rxx),
5267 (OpNode2 (i64 DoubleRegs:$src1),
5268 (OpNode1 (i64 DoubleRegs:$Rss), (i32 IntRegs:$Rt))))],
5352 (ins DoubleRegs:$src1, DoubleRegs:$src2),
5373 : T_S3op_1 <mnemonic, DoubleRegs, MajOp, MinOp, SwapOps,
5390 : SInst < (outs DoubleRegs:$Rdd),
5391 (ins DoubleRegs:$Rss, DoubleRegs:$Rtt, PredRegs:$Pu),
5450 : T_S3op_3 <mnemonic, DoubleRegs, 0b10, MinOp, 0,
5451 [(set (i64 DoubleRegs:$dst), (OpNode (i64 DoubleRegs:$src1),
5456 : T_S3op_3 <mnemonic, DoubleRegs, MajOp, MinOp, 0, []>;
5486 (ins DoubleRegs:$Rss, IntRegs:$Rt),
5512 : SInst <(outs DoubleRegs:$Rdd),
5513 (ins DoubleRegs:$Rss, DoubleRegs:$Rtt, u3Imm:$u3),
5540 (ins RC:$src1, RC:$src2, DoubleRegs:$src3),
5594 def S2_insertp_rp : T_S3op_insert<"insert", DoubleRegs>;
5595 def S2_insertp : T_S2op_insert <0b0011, DoubleRegs, u6Imm>;
5632 : SInst <(outs IntRegs:$Rd), (ins IntRegs:$Rs, DoubleRegs:$Rtt),
5684 def S2_extractup : T_S2op_extract <"extractu", 0b0001, DoubleRegs, u6Imm>;