1/* Test that we generate xorps when the result is used in FP math. */ 2/* { dg-do compile } */ 3/* { dg-options "-O -msse2 -mno-sse3" } */ 4/* { dg-require-effective-target sse2 } */ 5/* { dg-final { scan-assembler "xorps\[ \t\]" { xfail *-*-* } } } */ 6/* { dg-final { scan-assembler-not "pxor" { xfail *-*-* } } } */ 7 8#define vector __attribute__ ((vector_size (16))) 9 10vector float i(vector float f, vector float h) 11{ 12 vector int g = { 0x80000000, 0, 0x80000000, 0 }; 13 vector int f_int = (vector int) f; 14 return ((vector float) (f_int ^ g)) + h; 15} 16 17