mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-23 16:19:52 +00:00
Implement aarch64 neon instruction set AdvSIMD (Across).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192028 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -26,7 +26,7 @@ def i16 : ValueType<16 , 3>; // 16-bit integer value
|
||||
def i32 : ValueType<32 , 4>; // 32-bit integer value
|
||||
def i64 : ValueType<64 , 5>; // 64-bit integer value
|
||||
def i128 : ValueType<128, 6>; // 128-bit integer value
|
||||
def f16 : ValueType<16 , 7>; // 32-bit floating point value
|
||||
def f16 : ValueType<16 , 7>; // 16-bit floating point value
|
||||
def f32 : ValueType<32 , 8>; // 32-bit floating point value
|
||||
def f64 : ValueType<64 , 9>; // 64-bit floating point value
|
||||
def f80 : ValueType<80 , 10>; // 80-bit floating point value
|
||||
|
||||
@@ -65,6 +65,25 @@ def int_aarch64_neon_vuqshrn : Neon_N2V_Narrow_Intrinsic;
|
||||
def int_aarch64_neon_vsqrshrn : Neon_N2V_Narrow_Intrinsic;
|
||||
def int_aarch64_neon_vuqrshrn : Neon_N2V_Narrow_Intrinsic;
|
||||
|
||||
// Vector across
|
||||
class Neon_Across_Intrinsic
|
||||
: Intrinsic<[llvm_anyvector_ty], [llvm_anyvector_ty], [IntrNoMem]>;
|
||||
|
||||
class Neon_2Arg_Across_Float_Intrinsic
|
||||
: Intrinsic<[llvm_anyvector_ty], [llvm_v4f32_ty], [IntrNoMem]>;
|
||||
|
||||
def int_aarch64_neon_saddlv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_uaddlv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_smaxv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_umaxv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_sminv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_uminv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_vaddv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_vmaxv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_vminv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_vmaxnmv : Neon_Across_Intrinsic;
|
||||
def int_aarch64_neon_vminnmv : Neon_Across_Intrinsic;
|
||||
|
||||
// Scalar Add
|
||||
def int_aarch64_neon_vaddds :
|
||||
Intrinsic<[llvm_v1i64_ty], [llvm_v1i64_ty, llvm_v1i64_ty], [IntrNoMem]>;
|
||||
|
||||
Reference in New Issue
Block a user