/* PR target/95046 */ | |
/* { dg-do compile { target { ! ia32 } } } */ | |
/* { dg-options "-O2 -msse3" } */ | |
typedef float __v2sf __attribute__ ((__vector_size__ (8))); | |
float | |
foo (__v2sf a) | |
{ | |
return a[0] + a[1]; | |
} | |
/* { dg-final { scan-assembler "\tv?haddps" } } */ | |
float | |
bar (__v2sf a) | |
{ | |
return a[0] - a[1]; | |
} | |
/* { dg-final { scan-assembler "\tv?hsubps" } } */ |