Lines Matching refs:I64
450 def: OpR_R_pat<F2_conv_d2sf, pf1<sint_to_fp>, f32, I64>;
452 def: OpR_R_pat<F2_conv_d2df, pf1<sint_to_fp>, f64, I64>;
455 def: OpR_R_pat<F2_conv_ud2sf, pf1<uint_to_fp>, f32, I64>;
457 def: OpR_R_pat<F2_conv_ud2df, pf1<uint_to_fp>, f64, I64>;
472 def: Pat<(i64 (bitconvert F64:$v)), (I64:$v)>;
473 def: Pat<(f64 (bitconvert I64:$v)), (F64:$v)>;
494 def: Pat<(sext_inreg I64:$Rs, i32), (A2_sxtw (LoReg $Rs))>;
495 def: Pat<(sext_inreg I64:$Rs, i16), (A2_sxtw (A2_sxth (LoReg $Rs)))>;
496 def: Pat<(sext_inreg I64:$Rs, i8), (A2_sxtw (A2_sxtb (LoReg $Rs)))>;
502 def: Pat<(i32 (trunc I64:$Rs)), (LoReg $Rs)>;
504 def: Pat<(i1 (trunc I64:$Rs)), (S2_tstbit_i (LoReg $Rs), 0)>;
584 def: Pat<(i32 (ssat I64:$Rs, i32)), (A2_sat I64:$Rs)>;
587 def: Pat<(i32 (usat I64:$Rs, i32)),
682 def: OpR_RR_pat<C2_cmpeqp, seteq, i1, I64>;
683 def: OpR_RR_pat<C2_cmpgtp, setgt, i1, I64>;
684 def: OpR_RR_pat<C2_cmpgtup, setugt, i1, I64>;
685 def: OpR_RR_pat<C2_cmpgtp, RevCmp<setlt>, i1, I64>;
686 def: OpR_RR_pat<C2_cmpgtup, RevCmp<setult>, i1, I64>;
765 def: OpmR_RR_pat<Outn<C2_cmpeqp>, setne, i1, I64>;
766 def: OpmR_RR_pat<Outn<C2_cmpgtp>, setle, i1, I64>;
767 def: OpmR_RR_pat<Outn<C2_cmpgtup>, setule, i1, I64>;
768 def: OpmR_RR_pat<Outn<C2_cmpgtp>, RevCmp<setge>, i1, I64>;
769 def: OpmR_RR_pat<Outn<C2_cmpgtup>, RevCmp<setuge>, i1, I64>;
937 def: Pat<(select I1:$Pu, I64:$Rs, I64:$Rt),
1027 def: OpR_RR_pat<A2_minp, Smin, i64, I64, I64>;
1028 def: OpR_RR_pat<A2_maxp, Smax, i64, I64, I64>;
1029 def: OpR_RR_pat<A2_minup, Umin, i64, I64, I64>;
1030 def: OpR_RR_pat<A2_maxup, Umax, i64, I64, I64>;
1072 def: Pat<(HexagonINSERT I64:$Rs, I64:$Rt, u6_0ImmPred:$u1, u6_0ImmPred:$u2),
1073 (S2_insertp I64:$Rs, I64:$Rt, imm:$u1, imm:$u2)>;
1077 def: Pat<(HexagonINSERT I64:$Rs, I64:$Rt, I32:$Width, I32:$Off),
1078 (S2_insertp_rp I64:$Rs, I64:$Rt, (Combinew $Width, $Off))>;
1088 def: Pat<(HexagonEXTRACTU I64:$Rs, u6_0ImmPred:$u6, u6_0ImmPred:$U6),
1089 (S2_extractup I64:$Rs, imm:$u6, imm:$U6)>;
1093 def: Pat<(HexagonEXTRACTU I64:$Rs, I32:$Width, I32:$Off),
1094 (S2_extractup_rp I64:$Rs, (Combinew $Width, $Off))>;
1123 def: Pat<(sext_inreg (HexagonEXTRACTU I64:$Rs, 8, u6_0ImmPred:$U6), i8),
1124 (S4_extractp I64:$Rs, 8, imm:$U6)>;
1125 def: Pat<(sext_inreg (HexagonEXTRACTU I64:$Rs, 16, u6_0ImmPred:$U6), i16),
1126 (S4_extractp I64:$Rs, 16, imm:$U6)>;
1127 def: Pat<(sext_inreg (HexagonEXTRACTU I64:$Rs, 32, u6_0ImmPred:$U6), i32),
1128 (S4_extractp I64:$Rs, 32, imm:$U6)>;
1135 def: Pat<(sext_inreg (HexagonEXTRACTU I64:$Rs, 8, I32:$Off), i8),
1136 (S4_extractp_rp I64:$Rs, (Combinew (ToI32 8), I32:$Off))>;
1137 def: Pat<(sext_inreg (HexagonEXTRACTU I64:$Rs, 16, I32:$Off), i16),
1138 (S4_extractp_rp I64:$Rs, (Combinew (ToI32 16), I32:$Off))>;
1139 def: Pat<(sext_inreg (HexagonEXTRACTU I64:$Rs, 32, I32:$Off), i32),
1140 (S4_extractp_rp I64:$Rs, (Combinew (ToI32 32), I32:$Off))>;
1172 def: Pat<(bswap I64:$Rss), (Combinew (A2_swiz (LoReg $Rss)),
1188 def: OpR_RI_pat<S2_asr_i_p, Sra, i64, I64, u6_0ImmPred>;
1189 def: OpR_RI_pat<S2_lsr_i_p, Srl, i64, I64, u6_0ImmPred>;
1190 def: OpR_RI_pat<S2_asl_i_p, Shl, i64, I64, u6_0ImmPred>;
1201 def: OpR_RR_pat<S2_asr_r_p, Sra, i64, I64, I32>;
1202 def: OpR_RR_pat<S2_lsr_r_p, Srl, i64, I64, I32>;
1203 def: OpR_RR_pat<S2_asl_r_p, Shl, i64, I64, I32>;
1236 def: Pat<(fshl I64:$Rs, I64:$Rt, IsMul8_U3:$S),
1237 (S2_valignib I64:$Rs, I64:$Rt, (Divu64_8 $S))>;
1242 def: OpR_RI_pat<S6_rol_i_p, Rol, i64, I64, u6_0ImmPred>;
1246 def: Pat<(rotl I64:$Rs, u6_0ImmPred:$S), (FShl64i $Rs, $Rs, imm:$S)>;
1248 def: Pat<(fshl I64:$Rs, I64:$Rt, u6_0ImmPred:$S), (FShl64i $Rs, $Rt, imm:$S)>;
1251 def: Pat<(rotl I64:$Rs, I32:$Rt), (FShl64r $Rs, $Rs, $Rt)>;
1253 def: Pat<(fshl I64:$Rs, I64:$Rt, I32:$Ru), (FShl64r $Rs, $Rt, $Ru)>;
1270 def: Pat<(fshr I64:$Rs, I64:$Rt, IsMul8_U3:$S),
1271 (S2_valignib I64:$Rs, I64:$Rt, (Divu8 $S))>;
1276 def: Pat<(rotr I64:$Rs, u6_0ImmPred:$S), (S6_rol_i_p I64:$Rs, (Subi<64> $S))>;
1280 def: Pat<(rotr I64:$Rs, u6_0ImmPred:$S), (FShr64i $Rs, $Rs, imm:$S)>;
1282 def: Pat<(fshr I64:$Rs, I64:$Rt, u6_0ImmPred:$S), (FShr64i $Rs, $Rt, imm:$S)>;
1285 def: Pat<(rotr I64:$Rs, I32:$Rt), (FShr64r $Rs, $Rs, $Rt)>;
1287 def: Pat<(fshr I64:$Rs, I64:$Rt, I32:$Ru), (FShr64r $Rs, $Rt, $Ru)>;
1292 def: Pat<(sra (add (sra I64:$Rs, u6_0ImmPred:$u6), 1), (i32 1)),
1293 (S2_asr_i_p_rnd I64:$Rs, imm:$u6)>;
1306 def: AccRRI_pat<S2_asr_i_p_acc, Add, Su<Sra>, I64, u6_0ImmPred>;
1307 def: AccRRI_pat<S2_asr_i_p_nac, Sub, Su<Sra>, I64, u6_0ImmPred>;
1308 def: AccRRI_pat<S2_asr_i_p_and, And, Su<Sra>, I64, u6_0ImmPred>;
1309 def: AccRRI_pat<S2_asr_i_p_or, Or, Su<Sra>, I64, u6_0ImmPred>;
1317 def: AccRRI_pat<S2_lsr_i_p_acc, Add, Su<Srl>, I64, u6_0ImmPred>;
1318 def: AccRRI_pat<S2_lsr_i_p_nac, Sub, Su<Srl>, I64, u6_0ImmPred>;
1319 def: AccRRI_pat<S2_lsr_i_p_and, And, Su<Srl>, I64, u6_0ImmPred>;
1320 def: AccRRI_pat<S2_lsr_i_p_or, Or, Su<Srl>, I64, u6_0ImmPred>;
1321 def: AccRRI_pat<S2_lsr_i_p_xacc, Xor, Su<Srl>, I64, u6_0ImmPred>;
1329 def: AccRRI_pat<S2_asl_i_p_acc, Add, Su<Shl>, I64, u6_0ImmPred>;
1330 def: AccRRI_pat<S2_asl_i_p_nac, Sub, Su<Shl>, I64, u6_0ImmPred>;
1331 def: AccRRI_pat<S2_asl_i_p_and, And, Su<Shl>, I64, u6_0ImmPred>;
1332 def: AccRRI_pat<S2_asl_i_p_or, Or, Su<Shl>, I64, u6_0ImmPred>;
1333 def: AccRRI_pat<S2_asl_i_p_xacc, Xor, Su<Shl>, I64, u6_0ImmPred>;
1342 def: AccRRI_pat<S6_rol_i_p_acc, Add, Su<Rol>, I64, u6_0ImmPred>;
1343 def: AccRRI_pat<S6_rol_i_p_nac, Sub, Su<Rol>, I64, u6_0ImmPred>;
1344 def: AccRRI_pat<S6_rol_i_p_and, And, Su<Rol>, I64, u6_0ImmPred>;
1345 def: AccRRI_pat<S6_rol_i_p_or, Or, Su<Rol>, I64, u6_0ImmPred>;
1346 def: AccRRI_pat<S6_rol_i_p_xacc, Xor, Su<Rol>, I64, u6_0ImmPred>;
1356 def: AccRRR_pat<S2_asr_r_p_acc, Add, Su<Sra>, I64, I64, I32>;
1357 def: AccRRR_pat<S2_asr_r_p_nac, Sub, Su<Sra>, I64, I64, I32>;
1358 def: AccRRR_pat<S2_asr_r_p_and, And, Su<Sra>, I64, I64, I32>;
1359 def: AccRRR_pat<S2_asr_r_p_or, Or, Su<Sra>, I64, I64, I32>;
1360 def: AccRRR_pat<S2_asr_r_p_xor, Xor, Su<Sra>, I64, I64, I32>;
1367 def: AccRRR_pat<S2_lsr_r_p_acc, Add, Su<Srl>, I64, I64, I32>;
1368 def: AccRRR_pat<S2_lsr_r_p_nac, Sub, Su<Srl>, I64, I64, I32>;
1369 def: AccRRR_pat<S2_lsr_r_p_and, And, Su<Srl>, I64, I64, I32>;
1370 def: AccRRR_pat<S2_lsr_r_p_or, Or, Su<Srl>, I64, I64, I32>;
1371 def: AccRRR_pat<S2_lsr_r_p_xor, Xor, Su<Srl>, I64, I64, I32>;
1378 def: AccRRR_pat<S2_asl_r_p_acc, Add, Su<Shl>, I64, I64, I32>;
1379 def: AccRRR_pat<S2_asl_r_p_nac, Sub, Su<Shl>, I64, I64, I32>;
1380 def: AccRRR_pat<S2_asl_r_p_and, And, Su<Shl>, I64, I64, I32>;
1381 def: AccRRR_pat<S2_asl_r_p_or, Or, Su<Shl>, I64, I64, I32>;
1382 def: AccRRR_pat<S2_asl_r_p_xor, Xor, Su<Shl>, I64, I64, I32>;
1482 def: Pat<(abs I64:$Rs), (A2_absp I64:$Rs)>;
1484 def: Pat<(not I64:$Rs), (A2_notp I64:$Rs)>;
1485 def: Pat<(ineg I64:$Rs), (A2_negp I64:$Rs)>;
1507 def: OpR_RR_pat<A2_addp, Add, i64, I64>;
1508 def: OpR_RR_pat<A2_subp, Sub, i64, I64>;
1509 def: OpR_RR_pat<A2_andp, And, i64, I64>;
1510 def: OpR_RR_pat<A2_orp, Or, i64, I64>;
1511 def: OpR_RR_pat<A2_xorp, Xor, i64, I64>;
1512 def: OpR_RR_pat<A4_andnp, Not2<And>, i64, I64>;
1513 def: OpR_RR_pat<A4_ornp, Not2<Or>, i64, I64>;
1685 def: Pat<(add Sext64:$Rs, I64:$Rt),
1686 (A2_addsp (LoReg Sext64:$Rs), I64:$Rt)>;
1697 def: AccRRR_pat<M4_xor_xacc, Xor, Su<Xor>, I64, I64, I64>;
1745 def: Pat<(add I64:$Rx, (Su<Mul> Sext64:$Rs, Sext64:$Rt)),
1746 (M2_dpmpyss_acc_s0 I64:$Rx, (LoReg Sext64:$Rs), (LoReg Sext64:$Rt))>;
1747 def: Pat<(sub I64:$Rx, (Su<Mul> Sext64:$Rs, Sext64:$Rt)),
1748 (M2_dpmpyss_nac_s0 I64:$Rx, (LoReg Sext64:$Rs), (LoReg Sext64:$Rt))>;
1749 def: Pat<(add I64:$Rx, (Su<Mul> (Aext64 I32:$Rs), (Aext64 I32:$Rt))),
1750 (M2_dpmpyuu_acc_s0 I64:$Rx, I32:$Rs, I32:$Rt)>;
1751 def: Pat<(add I64:$Rx, (Su<Mul> (Zext64 I32:$Rs), (Zext64 I32:$Rt))),
1752 (M2_dpmpyuu_acc_s0 I64:$Rx, I32:$Rs, I32:$Rt)>;
1753 def: Pat<(sub I64:$Rx, (Su<Mul> (Aext64 I32:$Rs), (Aext64 I32:$Rt))),
1754 (M2_dpmpyuu_nac_s0 I64:$Rx, I32:$Rs, I32:$Rt)>;
1755 def: Pat<(sub I64:$Rx, (Su<Mul> (Zext64 I32:$Rs), (Zext64 I32:$Rt))),
1756 (M2_dpmpyuu_nac_s0 I64:$Rx, I32:$Rs, I32:$Rt)>;
1774 def: Pat<(mul I64:$Rss, I64:$Rtt),
1799 def : Pat <(mulhu I64:$Rss, I64:$Rtt), (MulHU $Rss, $Rtt)>;
1816 def : Pat <(mulhs I64:$Rss, I64:$Rtt),
1886 def: Pat<(i32 (trunc (ctlz I64:$Rss))), (S2_cl0p I64:$Rss)>;
1890 def: Pat<(i32 (trunc (cttz I64:$Rss))), (S2_ct0p I64:$Rss)>;
1894 def: Pat<(i32 (trunc (ctlz (not I64:$Rss)))), (S2_cl1p I64:$Rss)>;
1898 def: Pat<(i32 (trunc (cttz (not I64:$Rss)))), (S2_ct1p I64:$Rss)>;
1901 def: Pat<(i64 (ctlz I64:$Rss)), (ToZext64 (S2_cl0p I64:$Rss))>;
1902 def: Pat<(i64 (cttz I64:$Rss)), (ToZext64 (S2_ct0p I64:$Rss))>;
1903 def: Pat<(i64 (ctlz (not I64:$Rss))), (ToZext64 (S2_cl1p I64:$Rss))>;
1904 def: Pat<(i64 (cttz (not I64:$Rss))), (ToZext64 (S2_ct1p I64:$Rss))>;
1906 def: Pat<(i64 (ctpop I64:$Rss)), (ToZext64 (S5_popcountp I64:$Rss))>;
1910 def: Pat<(bitreverse I64:$Rss), (S2_brevp I64:$Rss)>;
1944 def: Pat<(and I64:$Rss, IsNPow2_64L:$V),
1947 def: Pat<(and I64:$Rss, IsNPow2_64H:$V),
1951 def: Pat<(or I64:$Rss, IsPow2_64L:$V),
1954 def: Pat<(or I64:$Rss, IsPow2_64H:$V),
1958 def: Pat<(xor I64:$Rss, IsPow2_64L:$V),
1961 def: Pat<(xor I64:$Rss, IsPow2_64H:$V),
1974 def: Pat<(i1 (trunc I64:$Rs)),
1980 def: Pat<(and (srl I64:$Rss, IsULE<32,31>:$u6), 1),
1982 def: Pat<(and (srl I64:$Rss, IsUGT<32,31>:$u6), 1),
1987 def: Pat<(and (not (srl I64:$Rss, IsULE<32,31>:$u6)), 1),
1989 def: Pat<(and (not (srl I64:$Rss, IsUGT<32,31>:$u6)), 1),
2026 def: Pat<(i1 (seteq (and I64:$Rs, IsPow2_64L:$u6), 0)),
2028 def: Pat<(i1 (seteq (and I64:$Rs, IsPow2_64H:$u6), 0)),
2030 def: Pat<(i1 (setne (and I64:$Rs, IsPow2_64L:$u6), 0)),
2032 def: Pat<(i1 (setne (and I64:$Rs, IsPow2_64H:$u6), 0)),
2497 def: Storepi_pat<post_store, I64, s4_3ImmPred, S2_storerd_pi>;
2682 def: Pat<(store I64:$Ru, (add I32:$Rs, s30_2ProperPred:$Off)),
2683 (S2_storerd_io (A2_addi I32:$Rs, 4), (RoundTo8 $Off), I64:$Ru)>;
2710 def: Storea_pat<store, I64, addrgp, S2_storerdgp>;
2721 def: Storea_pat<atomic_store_64, I64, addrgp, S2_storerdgp>;
2726 def: Stoream_pat<truncstorei8, I64, addrgp, LoReg, S2_storerbgp>;
2727 def: Stoream_pat<truncstorei16, I64, addrgp, LoReg, S2_storerhgp>;
2728 def: Stoream_pat<truncstorei32, I64, addrgp, LoReg, S2_storerigp>;
2739 def: Storea_pat<store, I64, anyimm3, PS_storerdabs>;
2750 def: Storea_pat<atomic_store_64, I64, anyimm3, PS_storerdabs>;
2755 def: Stoream_pat<truncstorei8, I64, anyimm0, LoReg, PS_storerbabs>;
2756 def: Stoream_pat<truncstorei16, I64, anyimm1, LoReg, PS_storerhabs>;
2757 def: Stoream_pat<truncstorei32, I64, anyimm2, LoReg, PS_storeriabs>;
2768 def: Storexu_shl_pat<store, I64, anyimm3, S4_storerd_ur>;
2786 def: Storexr_shl_pat<store, I64, S4_storerd_rr>;
2848 defm: Storexi_fi_add_pat<store, I64, anyimm, S2_storerd_io>;
2861 def: Storexi_fi_pat<store, I64, S2_storerd_io>;
2896 defm: Storexi_pat<store, I64, anyimm3, S2_storerd_io>;
2903 defm: Storexim_pat<truncstorei8, I64, anyimm0, LoReg, S2_storerb_io>;
2904 defm: Storexim_pat<truncstorei16, I64, anyimm1, LoReg, S2_storerh_io>;
2905 defm: Storexim_pat<truncstorei32, I64, anyimm2, LoReg, S2_storeri_io>;
2913 defm: Storexi_pat<atomic_store_64, I64, anyimm3, S2_storerd_io>;
2926 def: Storexr_add_pat<store, I64, S4_storerd_rr>;
2955 def: Storexi_base_pat<store, I64, S2_storerd_io>;
2962 def: Storexim_base_pat<truncstorei8, I64, LoReg, S2_storerb_io>;
2963 def: Storexim_base_pat<truncstorei16, I64, LoReg, S2_storerh_io>;
2964 def: Storexim_base_pat<truncstorei32, I64, LoReg, S2_storeri_io>;
2972 def: Storexi_base_pat<atomic_store_64, I64, S2_storerd_io>;
3410 def: Pat<(i1 (setne (int_hexagon_S4_stored_locked I32:$Rs, I64:$Rt), 0)),
3411 (S4_stored_locked I32:$Rs, I64:$Rt)>;
3412 def: Pat<(i1 (seteq (int_hexagon_S4_stored_locked I32:$Rs, I64:$Rt), 0)),
3413 (C2_not (S4_stored_locked I32:$Rs, I64:$Rt))>;