[cfe-commits] r166743 - in /cfe/trunk: lib/Headers/xmmintrin.h test/CodeGen/sse-builtins.c

Manman Ren mren at apple.com
Thu Oct 25 20:23:43 PDT 2012



Sent from my iPhone

On Oct 25, 2012, at 7:54 PM, Eli Friedman <eli.friedman at gmail.com> wrote:

> On Thu, Oct 25, 2012 at 7:35 PM, Manman Ren <mren at apple.com> wrote:
>> 
>> 
>> Sent from my iPhone
>> 
>> On Oct 25, 2012, at 6:13 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
>> 
>>> On Thu, Oct 25, 2012 at 5:25 PM, Manman Ren <mren at apple.com> 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.

-Manman
> 
> -Eli



More information about the cfe-commits mailing list