Lines Matching refs:v2i64
136 : PatFrags<(ops), [(bitconvert (v2i64 (build_vector))),
194 (v2i64 (build_vector node:$e0, node:$e0))>;
1207 def PseudoVBNZ_D : VecCond<loongarch_vall_nonzero, v2i64>;
1213 def PseudoVBZ_D : VecCond<loongarch_vall_zero, v2i64>;
1225 def : Pat<(v2i64 (OpNode (v2i64 LSX128:$vj))),
1243 def : Pat<(OpNode (v2i64 LSX128:$vj), (v2i64 LSX128:$vk)),
1261 def : Pat<(OpNode (v2i64 LSX128:$vj), (v2i64 LSX128:$vk)),
1272 def : Pat<(OpNode (v2i64 LSX128:$vj), (v2i64 (SplatPat_simm5 simm5:$imm))),
1283 def : Pat<(OpNode (v2i64 LSX128:$vj), (v2i64 (SplatPat_uimm5 uimm5:$imm))),
1294 def : Pat<(OpNode (v2i64 LSX128:$vd), (v2i64 LSX128:$vj), (v2i64 LSX128:$vk)),
1308 def : Pat<(OpNode (v2i64 LSX128:$vj), (and vsplati64_imm_eq_63,
1309 (v2i64 LSX128:$vk))),
1320 def : Pat<(OpNode (v2i64 LSX128:$vj), (v2i64 (SplatPat_uimm6 uimm6:$imm))),
1334 def : Pat<(v2i64 (setcc (v2i64 LSX128:$vj),
1335 (v2i64 (SplatPat_simm5 simm5:$imm)), CC)),
1349 def : Pat<(v2i64 (setcc (v2i64 LSX128:$vj),
1350 (v2i64 (SplatPat_uimm5 uimm5:$imm)), CC)),
1361 def : Pat<(v2i64 (setcc (v2i64 LSX128:$vj), (v2i64 LSX128:$vk), CC)),
1372 def : Pat<(v2i64 (setcc (v2i64 LSX128:$vj), (v2i64 LSX128:$vk), CC)),
1379 def : Pat<(v2i64 (setcc (v2f64 LSX128:$vj), (v2f64 LSX128:$vk), CC)),
1399 def : Pat<(sub immAllZerosV, (v2i64 LSX128:$vj)), (VNEG_D LSX128:$vj)>;
1434 foreach vt = [v16i8, v8i16, v4i32, v2i64] in
1438 foreach vt = [v16i8, v8i16, v4i32, v2i64] in
1442 foreach vt = [v16i8, v8i16, v4i32, v2i64] in
1446 foreach vt = [v16i8, v8i16, v4i32, v2i64] in
1489 def : Pat<(and v2i64:$vj, (vnot (shl vsplat_imm_eq_1, v2i64:$vk))),
1490 (v2i64 (VBITCLR_D v2i64:$vj, v2i64:$vk))>;
1500 def : Pat<(and v2i64:$vj, (vnot (shl vsplat_imm_eq_1,
1501 (vsplati64imm63 v2i64:$vk)))),
1502 (v2i64 (VBITCLR_D v2i64:$vj, v2i64:$vk))>;
1511 def : Pat<(and (v2i64 LSX128:$vj), (v2i64 (vsplat_uimm_inv_pow2 uimm6:$imm))),
1521 def : Pat<(or v2i64:$vj, (shl vsplat_imm_eq_1, v2i64:$vk)),
1522 (v2i64 (VBITSET_D v2i64:$vj, v2i64:$vk))>;
1529 def : Pat<(or v2i64:$vj, (shl vsplat_imm_eq_1, (vsplati64imm63 v2i64:$vk))),
1530 (v2i64 (VBITSET_D v2i64:$vj, v2i64:$vk))>;
1539 def : Pat<(or (v2i64 LSX128:$vj), (v2i64 (vsplat_uimm_pow2 uimm6:$imm))),
1549 def : Pat<(xor v2i64:$vj, (shl vsplat_imm_eq_1, v2i64:$vk)),
1550 (v2i64 (VBITREV_D v2i64:$vj, v2i64:$vk))>;
1557 def : Pat<(xor v2i64:$vj, (shl vsplat_imm_eq_1, (vsplati64imm63 v2i64:$vk))),
1558 (v2i64 (VBITREV_D v2i64:$vj, v2i64:$vk))>;
1567 def : Pat<(xor (v2i64 LSX128:$vj), (v2i64 (vsplat_uimm_pow2 uimm6:$imm))),
1672 def : Pat<(vector_insert v2i64:$vd, GRLenVT:$rj, uimm1:$imm),
1673 (VINSGR2VR_D v2i64:$vd, GRLenVT:$rj, uimm1:$imm)>;
1708 def : Pat<(loongarch_vreplve v2i64:$vj, GRLenVT:$rk),
1709 (VREPLVE_D v2i64:$vj, GRLenVT:$rk)>;
1718 def : Pat<(loongarch_vshuf v2i64:$vd, v2i64:$vj, v2i64:$vk),
1719 (VSHUF_D v2i64:$vd, v2i64:$vj, v2i64:$vk)>;
1722 def : Pat<(loongarch_vshuf v2i64:$vd, v2f64:$vj, v2f64:$vk),
1723 (VSHUF_D v2i64:$vd, v2f64:$vj, v2f64:$vk)>;
1732 def : Pat<(loongarch_vpickev v2i64:$vj, v2i64:$vk),
1733 (VPICKEV_D v2i64:$vj, v2i64:$vk)>;
1746 def : Pat<(loongarch_vpickod v2i64:$vj, v2i64:$vk),
1747 (VPICKOD_D v2i64:$vj, v2i64:$vk)>;
1760 def : Pat<(loongarch_vpackev v2i64:$vj, v2i64:$vk),
1761 (VPACKEV_D v2i64:$vj, v2i64:$vk)>;
1774 def : Pat<(loongarch_vpackod v2i64:$vj, v2i64:$vk),
1775 (VPACKOD_D v2i64:$vj, v2i64:$vk)>;
1788 def : Pat<(loongarch_vilvl v2i64:$vj, v2i64:$vk),
1789 (VILVL_D v2i64:$vj, v2i64:$vk)>;
1802 def : Pat<(loongarch_vilvh v2i64:$vj, v2i64:$vk),
1803 (VILVH_D v2i64:$vj, v2i64:$vk)>;
1826 def : Pat<(loongarch_vreplvei v2i64:$vj, immZExt1:$ui1),
1827 (VREPLVEI_D v2i64:$vj, immZExt1:$ui1)>;
1840 foreach vt = [v16i8, v8i16, v4i32, v2i64, v4f32, v2f64] in {
1854 def : Pat<(i64 (vector_extract v2i64:$vj, uimm1:$imm)),
1855 (VPICKVE2GR_D v2i64:$vj, uimm1:$imm)>;
1876 def : Pat<(i64 (vector_extract v2i64:$vj, i64:$rk)),
1877 (COPY_TO_REGCLASS (f64 (EXTRACT_SUBREG (VREPLVE_D v2i64:$vj, i64:$rk),
1889 foreach vt = [v16i8, v8i16, v4i32, v2i64, v4f32, v2f64] in
1899 def : Pat<(v2f64 (sint_to_fp v2i64:$vj)), (VFFINT_D_L v2i64:$vj)>;
1903 def : Pat<(v2f64 (uint_to_fp v2i64:$vj)), (VFFINT_D_LU v2i64:$vj)>;
1907 def : Pat<(v2i64 (fp_to_sint v2f64:$vj)), (VFTINTRZ_L_D v2f64:$vj)>;
1911 def : Pat<(v2i64 (fp_to_uint v2f64:$vj)), (VFTINTRZ_LU_D v2f64:$vj)>;
1923 // vty: v16i8/v8i16/v4i32/v2i64
1998 (v2i64 LSX128:$vj), (v2i64 LSX128:$vk)),
2001 // vty: v16i8/v8i16/v4i32/v2i64
2017 (v2i64 LSX128:$vd), (v4i32 LSX128:$vj), (v4i32 LSX128:$vk)),
2022 (v2i64 LSX128:$vd), (v2i64 LSX128:$vj), (v2i64 LSX128:$vk)),
2025 // vty: v16i8/v8i16/v4i32/v2i64
2045 def : Pat<(deriveLSXIntrinsic<Inst>.ret (v2i64 LSX128:$vj)),
2056 // vty: v16i8/v8i16/v4i32/v2i64
2081 def : Pat<(deriveLSXIntrinsic<Inst>.ret (v2i64 LSX128:$vj), timm:$imm),
2084 // vty: v16i8/v8i16/v4i32/v2i64
2116 (v2i64 LSX128:$vd), (v2i64 LSX128:$vj), timm:$imm),
2120 // vty: v16i8/v8i16/v4i32/v2i64
2134 def : Pat<(int_loongarch_lsx_vshuf_d (v2i64 LSX128:$vd), (v2i64 LSX128:$vj),
2135 (v2i64 LSX128:$vk)),
2238 def : Pat<(int_loongarch_lsx_vstelm_d v2i64:$vd, GPR:$rj, timm:$imm, timm:$idx),
2239 (VSTELM_D v2i64:$vd, GPR:$rj, (to_valid_timm timm:$imm),