diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/pr38824.c')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.target/i386/pr38824.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/pr38824.c b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr38824.c new file mode 100644 index 000000000..9fbfc502d --- /dev/null +++ b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr38824.c @@ -0,0 +1,21 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -msse -mno-sse2" } */ + +typedef float v4sf __attribute__ ((__vector_size__ (16))); + +void bench_1(float * out, float * in, float f, unsigned int n) +{ + n /= 4; + v4sf scalar = { f, f, f, f }; + do + { + v4sf arg = *(v4sf *)in; + v4sf result = arg + scalar; + *(v4sf *) out = result; + in += 4; + out += 4; + } + while (--n); +} + +/* { dg-final { scan-assembler-not "addps\[^\\n\]*%\[er\]" } } */ |