Skip to content

Instantly share code, notes, and snippets.

@anael-seghezzi
Last active September 22, 2015 10:27
Show Gist options
  • Save anael-seghezzi/e97ba5dcd2f456ae9944 to your computer and use it in GitHub Desktop.
Save anael-seghezzi/e97ba5dcd2f456ae9944 to your computer and use it in GitHub Desktop.
struct fl4{ float x, y, z, w; };
void asm_test(void)
{
struct fl4 v1, v2, v3;
v1.x = 0.1;
v1.y = 0.2;
v1.z = 0.4;
v1.w = 0.3;
v2.x = 0.11;
v2.y = 0.0;
v2.z = 0.01;
v2.w = 0.04;
asm volatile (
"movups %0, %%xmm0;"
"movups %1, %%xmm1;"
"addps %%xmm1, %%xmm0;"
"movups %%xmm0, %2"
:
: "g" (v1), "g" (v2), "g" (v3)
: "memory"
);
printf("sse fl4 add : %f %f %f %f\n", v3.x, v3.y, v3.z, v3.w);
printf("expected : %f %f %f %f\n", v1.x+v2.x, v1.y+v2.y, v1.z+v2.z, v1.w+v2.w);
}
@anael-seghezzi
Copy link
Author

sse fl4 add : 0.210000 0.200000 0.410000 0.340000
expected : 0.210000 0.200000 0.410000 0.340000

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment