This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SSE builtins for ia32
- From: Richard Henderson <rth at redhat dot com>
- To: Paul Koning <pkoning at equallogic dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 23 Aug 2005 15:43:59 -0700
- Subject: Re: SSE builtins for ia32
- References: <17163.34794.667961.779358@gargle.gargle.HOWL>
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~