Home | History | Annotate | Download | only in AArch64

Lines Matching full:v8i8

1381 defm : ScalToVecROLoadPat<ro8,  extloadi8,  i32, v8i8,  LDRBroW, LDRBroX, bsub>;
1428 defm : VecROLoadPat<ro64, v8i8, LDRDroW, LDRDroX>;
1531 def : Pat <(v8i8 (scalar_to_vector (i32
1533 (INSERT_SUBREG (v8i8 (IMPLICIT_DEF)),
1568 def : Pat<(v8i8 (load (am_indexed64 GPR64sp:$Rn, uimm12s8:$offset))),
1733 def : Pat<(v8i8 (load (am_unscaled64 GPR64sp:$Rn, simm9:$offset))),
2054 defm : VecROStorePat<ro64, v8i8, FPR64, STRDroW, STRDroX>;
2139 def : Pat<(store (v8i8 FPR64:$Rt),
2236 def : Pat<(store (v8i8 FPR64:$Rt),
2345 def : Pat<(pre_store (v8i8 FPR64:$Rt), GPR64sp:$addr, simm9:$off),
2399 def : Pat<(post_store (v8i8 FPR64:$Rt), GPR64sp:$addr, simm9:$off),
2715 (v8i16 (add (sub (zext (v8i8 V64:$opA)),
2716 (zext (v8i8 V64:$opB))),
2746 def : Pat<(xor (v8i8 (AArch64vashr V64:$src, (i32 7))),
2747 (v8i8 (add V64:$src, (AArch64vashr V64:$src, (i32 7))))),
2854 def : Pat<(AArch64neg (v8i8 V64:$Rn)), (NEGv8i8 V64:$Rn)>;
2862 def : Pat<(AArch64not (v8i8 V64:$Rn)), (NOTv8i8 V64:$Rn)>;
2913 def : Pat<(AArch64vshl (v8i16 (ext (v8i8 V64:$Rn))), (i32 8)),
3043 def : Pat<(AArch64bsl (v8i8 V64:$Rd), V64:$Rn, V64:$Rm),
3580 def : Pat<(v8i16 (opnode (v8i8 V64:$Rn), (v8i8 V64:$Rm))),
3596 def : Pat<(v8i16 (opnode (v8i16 V128:$Rd), (v8i8 V64:$Rn), (v8i8 V64:$Rm))),
3628 def : Pat<(v8i8 (trunc (v8i16 (AArch64vlshr (add V128:$Rn, V128:$Rm), (i32 8))))),
3636 def : Pat<(concat_vectors (v8i8 V64:$Rd),
3653 def : Pat<(v8i8 (trunc (v8i16 (AArch64vlshr (sub V128:$Rn, V128:$Rm), (i32 8))))),
3661 def : Pat<(concat_vectors (v8i8 V64:$Rd),
3706 def : Pat<(v8i8 (extract_subvector V128:$Rn, (i64 8))),
3740 def : Pat<(v8i8 (int_aarch64_neon_tbl1 (v16i8 VecListOne128:$Rn), (v8i8 V64:$Ri))),
3745 def : Pat<(v8i8 (int_aarch64_neon_tbx1 (v8i8 V64:$Rd),
3746 (v16i8 VecListOne128:$Rn), (v8i8 V64:$Ri))),
3800 def DUPv8i8gpr : SIMDDupFromMain<0, {?,?,?,?,1}, ".8b", v8i8, V64, GPR32>;
3813 def DUPv8i8lane : SIMDDup8FromElement <0, ".8b", v8i8, V64>;
3874 defm : DUPWithTruncPats<v8i8, v4i16, v8i16, i32, DUPv8i8lane, VecIndex_x2>;
3875 defm : DUPWithTruncPats<v8i8, v2i32, v4i32, i32, DUPv8i8lane, VecIndex_x4>;
3893 defm : DUPWithTrunci64Pats<v8i8, DUPv8i8lane, VecIndex_x8>;
3941 def : Pat<(v8i8 (scalar_to_vector GPR32:$Rn)),
4107 def : ConcatPat<v16i8, v8i8>;
4119 def : ConcatUndefPat<v16i8, v8i8>;
4144 def : Pat<(v8i8 (opNode V64:$Rn)),
4145 (INSERT_SUBREG (v8i8 (IMPLICIT_DEF)),
4162 def : Pat<(i32 (vector_extract (insert_subvector undef, (v8i8 (opNode V64:$Rn)),
4164 (EXTRACT_SUBREG (INSERT_SUBREG (v8i8 (IMPLICIT_DEF)),
4193 (opNode (v8i8 V64:$Rn)), (i32 0)), (i64 0))), i8)),
4224 (opNode (v8i8 V64:$Rn)), (i32 0)), (i64 0))), maski8_or_more)),
4276 def : Pat<(i32 (intOp (v8i8 V64:$Rn))),
4307 def : Pat<(i32 (intOp (v8i8 V64:$Rn))),
4414 def : Pat<(v8i8 immAllZerosV), (MOVID (i32 0))>;
4419 def : Pat<(v8i8 immAllOnesV), (MOVID (i32 255))>;
4477 [(set (v8i8 V64:$Rd), (AArch64movi imm0_255:$imm8))]>;
4809 def : Pat<(v8i8 (trunc (AArch64vlshr (v8i16 V128:$Rn), vecshiftR16Narrow:$imm))),
4816 def : Pat<(v16i8 (concat_vectors (v8i8 V64:$Rd),
4834 def : Pat<(v8i16 (sext (v8i8 V64:$Rn))), (SSHLLv8i8_shift V64:$Rn, (i32 0))>;
4835 def : Pat<(v8i16 (zext (v8i8 V64:$Rn))), (USHLLv8i8_shift V64:$Rn, (i32 0))>;
4836 def : Pat<(v8i16 (anyext (v8i8 V64:$Rn))), (USHLLv8i8_shift V64:$Rn, (i32 0))>;
4844 def : Pat<(v8i16 (anyext (v8i8 (extract_subvector V128:$Rn, (i64 8)) ))),
4846 def : Pat<(v8i16 (zext (v8i8 (extract_subvector V128:$Rn, (i64 8)) ))),
4848 def : Pat<(v8i16 (sext (v8i8 (extract_subvector V128:$Rn, (i64 8)) ))),
5054 def : Ld1Pat<v8i8, LD1Onev8b>;
5067 def : St1Pat<v8i8, ST1Onev8b>;
5099 def : Pat<(v8i8 (AArch64dup (i32 (extloadi8 GPR64sp:$Rn)))),
5152 def : Ld1Lane64Pat<extloadi8, VectorIndexB, v8i8, i32, LD1i8>;
5195 def : St1Lane64Pat<truncstorei8, VectorIndexB, v8i8, i32, ST1i8>;
5217 defm : St1LanePost64Pat<post_truncsti8, VectorIndexB, v8i8, i32, ST1i8_POST, 1>;
5428 def : Pat<(v8i8 (AArch64NvCast (v2i32 FPR64:$src))), (v8i8 FPR64:$src)>;
5435 def : Pat<(v8i8 (AArch64NvCast (v4i16 FPR64:$src))), (v8i8 FPR64:$src)>;
5441 def : Pat<(v8i8 (AArch64NvCast (v8i8 FPR64:$src))), (v8i8 FPR64:$src)>;
5442 def : Pat<(v4i16 (AArch64NvCast (v8i8 FPR64:$src))), (v4i16 FPR64:$src)>;
5443 def : Pat<(v4f16 (AArch64NvCast (v8i8 FPR64:$src))), (v4f16 FPR64:$src)>;
5444 def : Pat<(v2i32 (AArch64NvCast (v8i8 FPR64:$src))), (v2i32 FPR64:$src)>;
5445 def : Pat<(v1i64 (AArch64NvCast (v8i8 FPR64:$src))), (v1i64 FPR64:$src)>;
5447 def : Pat<(v8i8 (AArch64NvCast (f64 FPR64:$src))), (v8i8 FPR64:$src)>;
5455 def : Pat<(v8i8 (AArch64NvCast (v2f32 FPR64:$src))), (v8i8 FPR64:$src)>;
5511 def : Pat<(v8i8 (bitconvert GPR64:$Xn)), (COPY_TO_REGCLASS GPR64:$Xn, FPR64)>;
5517 def : Pat<(i64 (bitconvert (v8i8 V64:$Vn))),
5531 def : Pat<(v8i8 (bitconvert GPR64:$Xn)),
5542 def : Pat<(i64 (bitconvert (v8i8 V64:$Vn))),
5577 def : Pat<(v1i64 (bitconvert (v8i8 FPR64:$src))), (v1i64 FPR64:$src)>;
5586 def : Pat<(v1i64 (bitconvert (v8i8 FPR64:$src))),
5599 def : Pat<(v2i32 (bitconvert (v8i8 FPR64:$src))), (v2i32 FPR64:$src)>;
5609 def : Pat<(v2i32 (bitconvert (v8i8 FPR64:$src))),
5623 def : Pat<(v4i16 (bitconvert (v8i8 FPR64:$src))), (v4i16 FPR64:$src)>;
5634 def : Pat<(v4i16 (bitconvert (v8i8 FPR64:$src))),
5650 def : Pat<(v4f16 (bitconvert (v8i8 FPR64:$src))), (v4f16 FPR64:$src)>;
5662 def : Pat<(v4f16 (bitconvert (v8i8 FPR64:$src))),
5675 def : Pat<(v8i8 (bitconvert (v1i64 FPR64:$src))), (v8i8 FPR64:$src)>;
5676 def : Pat<(v8i8 (bitconvert (v2i32 FPR64:$src))), (v8i8 FPR64:$src)>;
5677 def : Pat<(v8i8 (bitconvert (v4i16 FPR64:$src))), (v8i8 FPR64:$src)>;
5678 def : Pat<(v8i8 (bitconvert (f64 FPR64:$src))), (v8i8 FPR64:$src)>;
5679 def : Pat<(v8i8 (bitconvert (v2f32 FPR64:$src))), (v8i8 FPR64:$src)>;
5680 def : Pat<(v8i8 (bitconvert (v1f64 FPR64:$src))), (v8i8 FPR64:$src)>;
5681 def : Pat<(v8i8 (bitconvert (v4f16 FPR64:$src))), (v8i8 FPR64:$src)>;
5684 def : Pat<(v8i8 (bitconvert (v1i64 FPR64:$src))),
5685 (v8i8 (REV64v8i8 FPR64:$src))>;
5686 def : Pat<(v8i8 (bitconvert (v2i32 FPR64:$src))),
5687 (v8i8 (REV32v8i8 FPR64:$src))>;
5688 def : Pat<(v8i8 (bitconvert (v4i16 FPR64:$src))),
5689 (v8i8 (REV16v8i8 FPR64:$src))>;
5690 def : Pat<(v8i8 (bitconvert (f64 FPR64:$src))),
5691 (v8i8 (REV64v8i8 FPR64:$src))>;
5692 def : Pat<(v8i8 (bitconvert (v2f32 FPR64:$src))),
5693 (v8i8 (REV32v8i8 FPR64:$src))>;
5694 def : Pat<(v8i8 (bitconvert (v1f64 FPR64:$src))),
5695 (v8i8 (REV64v8i8 FPR64:$src))>;
5696 def : Pat<(v8i8 (bitconvert (v4f16 FPR64:$src))),
5697 (v8i8 (REV16v8i8 FPR64:$src))>;
5704 def : Pat<(f64 (bitconvert (v8i8 FPR64:$src))), (f64 FPR64:$src)>;
5714 def : Pat<(f64 (bitconvert (v8i8 FPR64:$src))),
5725 def : Pat<(v1f64 (bitconvert (v8i8 FPR64:$src))), (v1f64 FPR64:$src)>;
5734 def : Pat<(v1f64 (bitconvert (v8i8 FPR64:$src))),
5747 def : Pat<(v2f32 (bitconvert (v8i8 FPR64:$src))), (v2f32 FPR64:$src)>;
5757 def : Pat<(v2f32 (bitconvert (v8i8 FPR64:$src))),
5986 def : Pat<(v8i8 (extract_subvector V128:$Rn, (i64 0))),
5999 def : Pat<(v8i8 (extract_subvector (v16i8 FPR128:$Rn), (i64 1))),
6022 def : Pat<(insert_subvector undef, (v8i8 FPR64:$src), (i32 0)),
6079 def : NTStore64Pat<v8i8>;