Lines Matching refs:v4f16
1387 defm : ScalToVecROLoadPat<ro16, load, i32, v4f16, LDRHroW, LDRHroX, hsub>;
1430 defm : VecROLoadPat<ro64, v4f16, LDRDroW, LDRDroX>;
1574 def : Pat<(v4f16 (load (am_indexed64 GPR64sp:$Rn, uimm12s8:$offset))),
1735 def : Pat<(v4f16 (load (am_unscaled64 GPR64sp:$Rn, simm9:$offset))),
2055 defm : VecROStorePat<ro64, v4f16, FPR64, STRDroW, STRDroX>;
2148 def : Pat<(store (v4f16 FPR64:$Rt),
2245 def : Pat<(store (v4f16 FPR64:$Rt),
2357 def : Pat<(pre_store (v4f16 FPR64:$Rt), GPR64sp:$addr, simm9:$off),
2411 def : Pat<(post_store (v4f16 FPR64:$Rt), GPR64sp:$addr, simm9:$off),
2796 def : Pat<(v4f32 (fextend (v4f16 V64:$Rn))), (FCVTLv4i16 V64:$Rn)>;
2797 def : Pat<(v4f32 (fextend (v4f16 (extract_subvector (v8f16 V128:$Rn),
2812 def : Pat<(v4f16 (fround (v4f32 V128:$Rn))), (FCVTNv4i16 V128:$Rn)>;
2822 def : Pat<(v4i16 (int_aarch64_neon_fcvtzs v4f16:$Rn)), (FCVTZSv4f16 $Rn)>;
2828 def : Pat<(v4i16 (int_aarch64_neon_fcvtzu v4f16:$Rn)), (FCVTZUv4f16 $Rn)>;
2902 def : Pat<(v4f16 (AArch64rev32 V64:$Rn)), (REV32v4i16 V64:$Rn)>;
2903 def : Pat<(v4f16 (AArch64rev64 V64:$Rn)), (REV64v4i16 V64:$Rn)>;
3699 def : Pat<(v4f16 (AArch64ext V64:$Rn, V64:$Rm, (i32 imm:$imm))),
3714 def : Pat<(v4f16 (extract_subvector V128:$Rn, (i64 4))),
3828 def : Pat<(v4f16 (AArch64dup (f16 FPR16:$Rn))),
3829 (v4f16 (DUPv4i16lane
3837 def : Pat<(v4f16 (AArch64duplane16 (v8f16 V128:$Rn), VectorIndexH:$imm)),
3962 def : Pat<(v4f16 (scalar_to_vector (f16 FPR16:$Rn))),
3963 (INSERT_SUBREG (v4f16 (IMPLICIT_DEF)), FPR16:$Rn, hsub)>;
3974 def : Pat<(v4f16 (vector_insert (v4f16 V64:$Rn),
4071 defm : Neon_INS_elt_pattern<v8f16, v4f16, f16, INSvi16lane>;
4106 def : ConcatPat<v8f16, v4f16>;
4394 [(set (v4f16 V64:$Rd), (AArch64fmov imm0_255:$imm8))]>;
5124 def : Pat<(v4f16 (AArch64dup (f16 (load GPR64sp:$Rn)))),
5156 def : Ld1Lane64Pat<load, VectorIndexH, v4f16, f16, LD1i16>;
5199 def : St1Lane64Pat<store, VectorIndexH, v4f16, f16, ST1i16>;
5224 defm : St1LanePost64Pat<post_store, VectorIndexH, v4f16, f16, ST1i16_POST, 2>;
5430 def : Pat<(v4f16 (AArch64NvCast (v2i32 FPR64:$src))), (v4f16 FPR64:$src)>;
5437 def : Pat<(v4f16 (AArch64NvCast (v4i16 FPR64:$src))), (v4f16 FPR64:$src)>;
5443 def : Pat<(v4f16 (AArch64NvCast (v8i8 FPR64:$src))), (v4f16 FPR64:$src)>;
5449 def : Pat<(v4f16 (AArch64NvCast (f64 FPR64:$src))), (v4f16 FPR64:$src)>;
5514 def : Pat<(v4f16 (bitconvert GPR64:$Xn)), (COPY_TO_REGCLASS GPR64:$Xn, FPR64)>;
5523 def : Pat<(i64 (bitconvert (v4f16 V64:$Vn))),
5537 def : Pat<(v4f16 (bitconvert GPR64:$Xn)),
5548 def : Pat<(i64 (bitconvert (v4f16 V64:$Vn))),
5578 def : Pat<(v1i64 (bitconvert (v4f16 FPR64:$src))), (v1i64 FPR64:$src)>;
5588 def : Pat<(v1i64 (bitconvert (v4f16 FPR64:$src))),
5602 def : Pat<(v2i32 (bitconvert (v4f16 FPR64:$src))), (v2i32 FPR64:$src)>;
5615 def : Pat<(v2i32 (bitconvert (v4f16 FPR64:$src))),
5625 def : Pat<(v4i16 (bitconvert (v4f16 FPR64:$src))), (v4i16 FPR64:$src)>;
5638 def : Pat<(v4i16 (bitconvert (v4f16 FPR64:$src))),
5647 def : Pat<(v4f16 (bitconvert (v1i64 FPR64:$src))), (v4f16 FPR64:$src)>;
5648 def : Pat<(v4f16 (bitconvert (v2i32 FPR64:$src))), (v4f16 FPR64:$src)>;
5649 def : Pat<(v4f16 (bitconvert (v4i16 FPR64:$src))), (v4f16 FPR64:$src)>;
5650 def : Pat<(v4f16 (bitconvert (v8i8 FPR64:$src))), (v4f16 FPR64:$src)>;
5651 def : Pat<(v4f16 (bitconvert (f64 FPR64:$src))), (v4f16 FPR64:$src)>;
5652 def : Pat<(v4f16 (bitconvert (v2f32 FPR64:$src))), (v4f16 FPR64:$src)>;
5653 def : Pat<(v4f16 (bitconvert (v1f64 FPR64:$src))), (v4f16 FPR64:$src)>;
5656 def : Pat<(v4f16 (bitconvert (v1i64 FPR64:$src))),
5657 (v4f16 (REV64v4i16 FPR64:$src))>;
5658 def : Pat<(v4f16 (bitconvert (v2i32 FPR64:$src))),
5659 (v4f16 (REV64v4i16 FPR64:$src))>;
5660 def : Pat<(v4f16 (bitconvert (v4i16 FPR64:$src))),
5661 (v4f16 (REV64v4i16 FPR64:$src))>;
5662 def : Pat<(v4f16 (bitconvert (v8i8 FPR64:$src))),
5663 (v4f16 (REV16v8i8 FPR64:$src))>;
5664 def : Pat<(v4f16 (bitconvert (f64 FPR64:$src))),
5665 (v4f16 (REV64v4i16 FPR64:$src))>;
5666 def : Pat<(v4f16 (bitconvert (v2f32 FPR64:$src))),
5667 (v4f16 (REV64v4i16 FPR64:$src))>;
5668 def : Pat<(v4f16 (bitconvert (v1f64 FPR64:$src))),
5669 (v4f16 (REV64v4i16 FPR64:$src))>;
5681 def : Pat<(v8i8 (bitconvert (v4f16 FPR64:$src))), (v8i8 FPR64:$src)>;
5696 def : Pat<(v8i8 (bitconvert (v4f16 FPR64:$src))),
5705 def : Pat<(f64 (bitconvert (v4f16 FPR64:$src))), (f64 FPR64:$src)>;
5716 def : Pat<(f64 (bitconvert (v4f16 FPR64:$src))),
5727 def : Pat<(v1f64 (bitconvert (v4f16 FPR64:$src))), (v1f64 FPR64:$src)>;
5738 def : Pat<(v1f64 (bitconvert (v4f16 FPR64:$src))),
5750 def : Pat<(v2f32 (bitconvert (v4f16 FPR64:$src))), (v2f32 FPR64:$src)>;
5763 def : Pat<(v2f32 (bitconvert (v4f16 FPR64:$src))),
5990 def : Pat<(v4f16 (extract_subvector V128:$Rn, (i64 0))),
6020 def : Pat<(insert_subvector undef, (v4f16 FPR64:$src), (i32 0)),