summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/xorps-sse2.c
blob: 3c268b4cbaa4145a0ef83aa95c45874a7d9255c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* 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\]" { xfail *-*-* } } } */
/* { dg-final { scan-assembler-not "pxor" { xfail *-*-* } } } */

#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;
}