mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
[AArch64] Add support for NEON scalar shift immediate instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193790 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -220,4 +220,44 @@ def int_aarch64_neon_vqdmlsl : Neon_3Arg_Long_Intrinsic;
|
||||
|
||||
// Signed Saturating Doubling Multiply Long
|
||||
def int_aarch64_neon_vqdmull : Neon_2Arg_Long_Intrinsic;
|
||||
|
||||
class Neon_2Arg_ShiftImm_Intrinsic
|
||||
: Intrinsic<[llvm_v1i64_ty], [llvm_v1i64_ty, llvm_i32_ty], [IntrNoMem]>;
|
||||
|
||||
class Neon_3Arg_ShiftImm_Intrinsic
|
||||
: Intrinsic<[llvm_v1i64_ty], [llvm_v1i64_ty, llvm_v1i64_ty, llvm_i32_ty],
|
||||
[IntrNoMem]>;
|
||||
|
||||
// Scalar Shift Right (Immediate)
|
||||
def int_aarch64_neon_vshrds_n : Neon_2Arg_ShiftImm_Intrinsic;
|
||||
def int_aarch64_neon_vshrdu_n : Neon_2Arg_ShiftImm_Intrinsic;
|
||||
|
||||
// Scalar Rounding Shift Right (Immediate)
|
||||
def int_aarch64_neon_vrshrds_n : Neon_2Arg_ShiftImm_Intrinsic;
|
||||
def int_aarch64_neon_vrshrdu_n : Neon_2Arg_ShiftImm_Intrinsic;
|
||||
|
||||
// Scalar Shift Right and Accumulate (Immediate)
|
||||
def int_aarch64_neon_vsrads_n : Neon_3Arg_ShiftImm_Intrinsic;
|
||||
def int_aarch64_neon_vsradu_n : Neon_3Arg_ShiftImm_Intrinsic;
|
||||
|
||||
// Scalar Rounding Shift Right and Accumulate (Immediate)
|
||||
def int_aarch64_neon_vrsrads_n : Neon_3Arg_ShiftImm_Intrinsic;
|
||||
def int_aarch64_neon_vrsradu_n : Neon_3Arg_ShiftImm_Intrinsic;
|
||||
|
||||
// Scalar Shift Left (Immediate)
|
||||
def int_aarch64_neon_vshld_n : Neon_2Arg_ShiftImm_Intrinsic;
|
||||
|
||||
// Scalar Saturating Shift Left (Immediate)
|
||||
def int_aarch64_neon_vqshls_n : Neon_N2V_Intrinsic;
|
||||
def int_aarch64_neon_vqshlu_n : Neon_N2V_Intrinsic;
|
||||
|
||||
// Scalar Signed Saturating Shift Left Unsigned (Immediate)
|
||||
def int_aarch64_neon_vqshlus_n : Neon_N2V_Intrinsic;
|
||||
|
||||
// Shift Right And Insert (Immediate)
|
||||
def int_aarch64_neon_vsrid_n : Neon_2Arg_ShiftImm_Intrinsic;
|
||||
|
||||
// Shift Left And Insert (Immediate)
|
||||
def int_aarch64_neon_vslid_n : Neon_2Arg_ShiftImm_Intrinsic;
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user