[llvm-commits] [llvm] r59612 - /llvm/trunk/include/llvm/Intrinsics.td
sanjiv gupta
sanjiv.gupta at microchip.com
Wed Nov 19 20:52:43 PST 2008
On Wed, 2008-11-19 at 09:52 -0800, Chris Lattner wrote:
> 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.
>
Makes sense. I will do that change.
> 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 :)
>
Ok. Let me dig more into 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