[llvm-commits] [llvm] r59612 - /llvm/trunk/include/llvm/Intrinsics.td
Chris Lattner
clattner at apple.com
Wed Nov 19 09:52:05 PST 2008
On Nov 19, 2008, at 12:50 AM, Sanjiv Gupta wrote:
> Author: sgupta
> Date: Wed Nov 19 02:50:17 2008
> New Revision: 59612
>
> URL: http://llvm.org/viewvc/llvm-project?rev=59612&view=rev
> Log:
> Int type for PIC16 is i16. Added i16 intrinsics for memmove, memcpy
> and memset.
hi Sangiv,
The alignment argument should always be an i32. Note that the i64
version uses an i32 for the alignment.
It would also be better to just go ahead and make these intrisnsics
type generic on the size argument, like the ctpop intrinsics etc are.
That would allow memcpy with a size of i42 if someone wanted it :)
-Chris
>
>
> Modified:
> llvm/trunk/include/llvm/Intrinsics.td
>
> Modified: llvm/trunk/include/llvm/Intrinsics.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Intrinsics.td?rev=59612&r1=59611&r2=59612&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/include/llvm/Intrinsics.td (original)
> +++ llvm/trunk/include/llvm/Intrinsics.td Wed Nov 19 02:50:17 2008
> @@ -190,18 +190,27 @@
> //
>
> let Properties = [IntrWriteArgMem] in {
> + def int_memcpy_i16 : 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]>;
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list