40 lines
418 B
C
40 lines
418 B
C
#include <xmmintrin.h>
|
|
#include <immintrin.h>
|
|
#include <intrin.h>
|
|
#include <stdio.h>
|
|
|
|
void main()
|
|
{
|
|
|
|
/*
|
|
float z = 4.00f;
|
|
float* a = &z;
|
|
float b = sseSqrt(z);
|
|
|
|
printf("%f", b);
|
|
|
|
/**/
|
|
|
|
|
|
float a = 400.0f;
|
|
a = sseSqrt(a);
|
|
printf("%f",a);
|
|
/**/
|
|
}
|
|
|
|
|
|
float sseSqrt(float x)
|
|
{
|
|
float r[4];
|
|
float* pa = &x;
|
|
|
|
__m128 b;
|
|
__m128 c;
|
|
|
|
b = _mm_load_ss(pa);
|
|
c = _mm_sqrt_ss(b);
|
|
_mm_store_ss(r, c);
|
|
|
|
return r[0];
|
|
}
|
|
/**/ |