On Thu, Oct 25, 2012 at 8:23 PM, Manman Ren <[email protected]> wrote: > > > Sent from my iPhone > > On Oct 25, 2012, at 7:54 PM, Eli Friedman <[email protected]> wrote: > >> On Thu, Oct 25, 2012 at 7:35 PM, Manman Ren <[email protected]> wrote: >>> >>> >>> Sent from my iPhone >>> >>> On Oct 25, 2012, at 6:13 PM, Eli Friedman <[email protected]> wrote: >>> >>>> On Thu, Oct 25, 2012 at 5:25 PM, Manman Ren <[email protected]> wrote: >>>>> Author: mren >>>>> Date: Thu Oct 25 19:25:10 2012 >>>>> New Revision: 166743 >>>>> >>>>> URL: http://llvm.org/viewvc/llvm-project?rev=166743&view=rev >>>>> Log: >>>>> X86 SSE Intrinsics: update header for sqrt_ss, rsqrt_ss and rcp_ss. >>>>> >>>>> There intrinsics pass through the upper FP values from the input. >>>>> rdar://12558838 >>>>> >>>>> Modified: >>>>> cfe/trunk/lib/Headers/xmmintrin.h >>>>> cfe/trunk/test/CodeGen/sse-builtins.c >>>>> >>>>> Modified: cfe/trunk/lib/Headers/xmmintrin.h >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/xmmintrin.h?rev=166743&r1=166742&r2=166743&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/lib/Headers/xmmintrin.h (original) >>>>> +++ cfe/trunk/lib/Headers/xmmintrin.h Thu Oct 25 19:25:10 2012 >>>>> @@ -95,7 +95,8 @@ >>>>> static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) >>>>> _mm_sqrt_ss(__m128 a) >>>>> { >>>>> - return __builtin_ia32_sqrtss(a); >>>>> + __m128 c = __builtin_ia32_sqrtss(a); >>>>> + return (__m128) { c[0], a[1], a[2], a[3] }; >>>>> } >>>> >>>> What does exactly does __builtin_ia32_sqrtss return, if not the result >>>> of a sqrtss instruction? >>> builtin returns the result of sqrtss instruction, which only updates the >>> lowest FP. mm_sqrt_ss has the upper FPs pass through to the output. >> >> What exactly is in the top 96 bits of the return value of >> __builtin_ia32_sqrtss, then? > Those bits are undefined with the current implementation, same goes for > sqrt_sd.
Why are the intrinsics defined to take vectors in the first place, then? -Eli _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
