This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SSE builtins for ia32


On Tue, Aug 23, 2005 at 04:32:42PM -0400, Paul Koning wrote:
> 1. Why do _builtin_ia32_paddusb and similar functions take signed
>    vector arguments, when the hardware primitive is defined to operate
>    on unsigned vectors?

Because the interface you're actually supposed to be using
is _mm_adds_pu8, which uses an opaque type.  The underlying
builtins all use signed vectors because it was simple to 
make them all the same.

> 2. Why are there no sse equivalents of those functions, ones that
>    operate on 128 bit values (i.e., paddusb for v16qi vectors)?

There are.  See _mm_adds_epu8 in emmintrin.h.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]