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:
Chris Lattner 2006-03-27 22:38:39 +00:00
parent 2c4e65d460
commit c4c9506837

View File

@ -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.