Error on Documentation or in Intel Header (SSE = emmintrin.h) ?

Error on Documentation or in Intel Header (SSE = emmintrin.h) ?


I find a strange information. I use Intel(R) Instrinsic Guide produced by Intel.Software.

And I can read that :

Synopsis __m128d _mm_sqrt_sd (__m128d a)
#include "emmintrin.h"
sqrtsd CPUID Feature Flag: SSE2
Computes the square root of the lower double-precision floating-point value of a.
r0 := sqrt(a0)
r1 := a1
Latency & Throughput Information
CPUID(s) Parameters Latency Throughput
0F_03 xmm, xmm 39 39
0F_02 xmm, xmm 38 38
06_2A xmm, xmm 22 22
06_25/2C/1A/1E/1F/2E xmm, xmm 34 30
06_17/1D xmm, xmm 31 25
06_0F xmm, xmm 60 57
06_0E xmm, xmm 58 57
06_0D xmm, xmm 58 57

Ok ! Interesting. But when I read emmintrin.h I saw that :

extern __m128d __ICL_INTRINCC _mm_sqrt_sd(__m128d, __m128d);

How it's possible ? A sqrt scalar for double with two value... ? What is behavior expected ?

Thanks for you answers


PS : Intel Parallel Studio XE 2013
Intel(R) Guide Instrinsic 2.8

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

>>...__m128d _mm_sqrt_sd (__m128d a)

This is error in the documentation.

Declarations in emmintrin.h and intrin.h for the _mm_sqrt_sd are as follows:
extern __m128d _mm_sqrt_sd( __m128d _A, __m128d _B );

Leave a Comment

Please sign in to add a comment. Not a member? Join today