summaryrefslogtreecommitdiff
path: root/include/llvm/Intrinsics.td
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Intrinsics.td')
-rw-r--r--include/llvm/Intrinsics.td34
1 files changed, 26 insertions, 8 deletions
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index 3037fbca2b..194ab5bee2 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -193,15 +193,33 @@ def int_stackprotector : Intrinsic<[llvm_void_ty],
//
let Properties = [IntrWriteArgMem] in {
- def int_memcpy : Intrinsic<[llvm_void_ty],
- [llvm_ptr_ty, llvm_ptr_ty,
- llvm_anyint_ty, llvm_i32_ty]>;
- def int_memmove : Intrinsic<[llvm_void_ty],
+ def int_memcpy_i16 : Intrinsic<[llvm_void_ty],
[llvm_ptr_ty, llvm_ptr_ty,
- llvm_anyint_ty, llvm_i32_ty]>;
- def int_memset : Intrinsic<[llvm_void_ty],
- [llvm_ptr_ty, llvm_i8_ty,
- llvm_anyint_ty, llvm_i32_ty]>;
+ llvm_i16_ty, llvm_i16_ty]>;
+ def int_memcpy_i32 : Intrinsic<[llvm_void_ty],
+ [llvm_ptr_ty, llvm_ptr_ty,
+ llvm_i32_ty, llvm_i32_ty]>;
+ def int_memcpy_i64 : Intrinsic<[llvm_void_ty],
+ [llvm_ptr_ty, llvm_ptr_ty,
+ llvm_i64_ty, llvm_i32_ty]>;
+ def int_memmove_i16 : Intrinsic<[llvm_void_ty],
+ [llvm_ptr_ty, llvm_ptr_ty,
+ llvm_i16_ty, llvm_i16_ty]>;
+ def int_memmove_i32 : Intrinsic<[llvm_void_ty],
+ [llvm_ptr_ty, llvm_ptr_ty,
+ llvm_i32_ty, llvm_i32_ty]>;
+ def int_memmove_i64 : Intrinsic<[llvm_void_ty],
+ [llvm_ptr_ty, llvm_ptr_ty,
+ llvm_i64_ty, llvm_i32_ty]>;
+ def int_memset_i16 : Intrinsic<[llvm_void_ty],
+ [llvm_ptr_ty, llvm_i8_ty,
+ llvm_i16_ty, llvm_i16_ty]>;
+ def int_memset_i32 : Intrinsic<[llvm_void_ty],
+ [llvm_ptr_ty, llvm_i8_ty,
+ llvm_i32_ty, llvm_i32_ty]>;
+ def int_memset_i64 : Intrinsic<[llvm_void_ty],
+ [llvm_ptr_ty, llvm_i8_ty,
+ llvm_i64_ty, llvm_i32_ty]>;
}
// These functions do not actually read memory, but they are sensitive to the