Re: SSE3 intrinsics support.
Re: SSE3 intrinsics support.
- Subject: Re: SSE3 intrinsics support.
- From: Eric Albert <email@hidden>
- Date: Fri, 10 Jun 2005 00:54:15 -0700
On Jun 10, 2005, at 12:44 AM, Alex Telitsine wrote:
On Jun 10, 2005, at 12:18 AM, Eric Albert wrote:
On Jun 10, 2005, at 12:01 AM, Alex Telitsine wrote:
Compiler fails on _mm_lddqu_si128, while "sysctlbyname" supports "hw.optional.sse3".
(btw, add detection of hyperthreading in "hw.*" as well). Please add SSE3 in the next XC update. Absence of SSE3 support hurts video encoding speed.
SSE3 is supported; it just isn't enabled by default as MMX, SSE, and SSE2 are. This is described on page 58 of the Universal Binary Programming Guide. If you pass -msse3 to the compiler, _mm_lddqu_si128 works. It'd probably be useful if Xcode had a check box for enabling SSE3 rather than requiring you to add -msse3 to "Other C Flags". If you'd like that, please file a bug report.
Compiler receives -msse3 (PER_ARCH_CFLAGS_i386=-msse3) :
<x-tad-smaller>/usr/bin/gcc-4.0 -x c -arch i386</x-tad-smaller> <skipped> <x-tad-smaller>-msse3 <skipped></x-tad-smaller>
Compiler fails:
<x-tad-smaller>BlockOps16_intr.c:1154: warning: implicit declaration of function '_mm_lddqu_si128'</x-tad-smaller>
<x-tad-smaller>BlockOps16_intr.c:1154: error: incompatible type for argument 1 of '_mm_avg_epu8'</x-tad-smaller>
Text of line <x-tad-smaller>1154</x-tad-smaller>:
p= _mm_avg_epu8(_mm_lddqu_si128((__m128i*)a),_mm_lddqu_si128((__m128i*)b) );
SSE3 intrinsics are defined in pmmintrin.h. From the warning you're getting, I'm guessing that you aren't #including that header.
-Eric
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden