/* Test that we generate xorps when the result is used in FP math. */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O -msse2 -mno-sse3" } */ | |
/* { dg-final { scan-assembler "xorps\[ \t\]" } } */ | |
/* { dg-final { scan-assembler-not "pxor" } } */ | |
#define vector __attribute__ ((vector_size (16))) | |
vector float i(vector float f, vector float h) | |
{ | |
vector int g = { 0x80000000, 0, 0x80000000, 0 }; | |
vector int f_int = (vector int) f; | |
return ((vector float) (f_int ^ g)) + h; | |
} | |