Make mem[cpy,move,set] intrinsics overloaded.
[oota-llvm.git] / include / llvm / Intrinsics.td
index 194ab5bee2d2c7ee3a881c3baeb6b0726e40a6d2..3037fbca2b7ef03758bc3948b7873d49b76fabae 100644 (file)
@@ -193,33 +193,15 @@ def int_stackprotector : Intrinsic<[llvm_void_ty],
 //
 
 let Properties = [IntrWriteArgMem] in {
-  def int_memcpy_i16  : Intrinsic<[llvm_void_ty],
+  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],
                                   [llvm_ptr_ty, llvm_ptr_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]>;
+                                   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]>;
 }
 
 // These functions do not actually read memory, but they are sensitive to the