mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +00:00
Divirge from the GCC specification of the load/store intrinsics: only take
one pointer operand, instead of a pointer and an offset. The FE will lower to this canonicalized form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27186 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2c4e65d460
commit
c4c9506837
@ -14,33 +14,29 @@
|
||||
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.".
|
||||
// Loads.
|
||||
def int_ppc_altivec_lvx : GCCBuiltin<"__builtin_altivec_lvx">,
|
||||
Intrinsic<[llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
[IntrReadMem]>;
|
||||
Intrinsic<[llvm_v4i32_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||
def int_ppc_altivec_lvebx : GCCBuiltin<"__builtin_altivec_lvebx">,
|
||||
Intrinsic<[llvm_v16i8_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
[IntrReadMem]>;
|
||||
Intrinsic<[llvm_v16i8_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||
def int_ppc_altivec_lvehx : GCCBuiltin<"__builtin_altivec_lvehx">,
|
||||
Intrinsic<[llvm_v8i16_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
[IntrReadMem]>;
|
||||
Intrinsic<[llvm_v8i16_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||
def int_ppc_altivec_lvewx : GCCBuiltin<"__builtin_altivec_lvewx">,
|
||||
Intrinsic<[llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
[IntrReadMem]>;
|
||||
Intrinsic<[llvm_v4i32_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||
|
||||
// Stores.
|
||||
def int_ppc_altivec_stvx : GCCBuiltin<"__builtin_altivec_stvx">,
|
||||
Intrinsic<[llvm_void_ty, llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
Intrinsic<[llvm_void_ty, llvm_v4i32_ty, llvm_ptr_ty],
|
||||
[IntrWriteMem]>;
|
||||
def int_ppc_altivec_stvxl : GCCBuiltin<"__builtin_altivec_stvxl">,
|
||||
Intrinsic<[llvm_void_ty, llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
Intrinsic<[llvm_void_ty, llvm_v4i32_ty, llvm_ptr_ty],
|
||||
[IntrWriteMem]>;
|
||||
def int_ppc_altivec_stvebx : GCCBuiltin<"__builtin_altivec_stvebx">,
|
||||
Intrinsic<[llvm_void_ty, llvm_v16i8_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
Intrinsic<[llvm_void_ty, llvm_v16i8_ty, llvm_ptr_ty],
|
||||
[IntrWriteMem]>;
|
||||
def int_ppc_altivec_stvehx : GCCBuiltin<"__builtin_altivec_stvehx">,
|
||||
Intrinsic<[llvm_void_ty, llvm_v8i16_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
Intrinsic<[llvm_void_ty, llvm_v8i16_ty, llvm_ptr_ty],
|
||||
[IntrWriteMem]>;
|
||||
def int_ppc_altivec_stvewx : GCCBuiltin<"__builtin_altivec_stvewx">,
|
||||
Intrinsic<[llvm_void_ty, llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
|
||||
Intrinsic<[llvm_void_ty, llvm_v4i32_ty, llvm_ptr_ty],
|
||||
[IntrWriteMem]>;
|
||||
|
||||
// Comparisons setting a vector.
|
||||
|
Loading…
Reference in New Issue
Block a user