mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-07 12:28: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:
@@ -14,33 +14,29 @@
|
|||||||
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.".
|
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.".
|
||||||
// Loads.
|
// Loads.
|
||||||
def int_ppc_altivec_lvx : GCCBuiltin<"__builtin_altivec_lvx">,
|
def int_ppc_altivec_lvx : GCCBuiltin<"__builtin_altivec_lvx">,
|
||||||
Intrinsic<[llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
|
Intrinsic<[llvm_v4i32_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||||
[IntrReadMem]>;
|
|
||||||
def int_ppc_altivec_lvebx : GCCBuiltin<"__builtin_altivec_lvebx">,
|
def int_ppc_altivec_lvebx : GCCBuiltin<"__builtin_altivec_lvebx">,
|
||||||
Intrinsic<[llvm_v16i8_ty, llvm_int_ty, llvm_ptr_ty],
|
Intrinsic<[llvm_v16i8_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||||
[IntrReadMem]>;
|
|
||||||
def int_ppc_altivec_lvehx : GCCBuiltin<"__builtin_altivec_lvehx">,
|
def int_ppc_altivec_lvehx : GCCBuiltin<"__builtin_altivec_lvehx">,
|
||||||
Intrinsic<[llvm_v8i16_ty, llvm_int_ty, llvm_ptr_ty],
|
Intrinsic<[llvm_v8i16_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||||
[IntrReadMem]>;
|
|
||||||
def int_ppc_altivec_lvewx : GCCBuiltin<"__builtin_altivec_lvewx">,
|
def int_ppc_altivec_lvewx : GCCBuiltin<"__builtin_altivec_lvewx">,
|
||||||
Intrinsic<[llvm_v4i32_ty, llvm_int_ty, llvm_ptr_ty],
|
Intrinsic<[llvm_v4i32_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||||
[IntrReadMem]>;
|
|
||||||
|
|
||||||
// Stores.
|
// Stores.
|
||||||
def int_ppc_altivec_stvx : GCCBuiltin<"__builtin_altivec_stvx">,
|
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]>;
|
[IntrWriteMem]>;
|
||||||
def int_ppc_altivec_stvxl : GCCBuiltin<"__builtin_altivec_stvxl">,
|
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]>;
|
[IntrWriteMem]>;
|
||||||
def int_ppc_altivec_stvebx : GCCBuiltin<"__builtin_altivec_stvebx">,
|
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]>;
|
[IntrWriteMem]>;
|
||||||
def int_ppc_altivec_stvehx : GCCBuiltin<"__builtin_altivec_stvehx">,
|
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]>;
|
[IntrWriteMem]>;
|
||||||
def int_ppc_altivec_stvewx : GCCBuiltin<"__builtin_altivec_stvewx">,
|
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]>;
|
[IntrWriteMem]>;
|
||||||
|
|
||||||
// Comparisons setting a vector.
|
// Comparisons setting a vector.
|
||||||
|
Reference in New Issue
Block a user