Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
7683 Discussions

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

chkone
Beginner
161 Views

Hello,

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"
Instruction:
sqrtsd CPUID Feature Flag: SSE2
Description:
Computes the square root of the lower double-precision floating-point value of a.
Operation:
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

Regards

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

0 Kudos
1 Reply
SergeyKostrov
Valued Contributor II
161 Views
>>...__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 ); ...
Reply