diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/mips/mips-ps-5.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.target/mips/mips-ps-5.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/mips/mips-ps-5.c b/gcc-4.9/gcc/testsuite/gcc.target/mips/mips-ps-5.c new file mode 100644 index 000000000..077076f47 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.target/mips/mips-ps-5.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-options "-mpaired-single -mgp64 -ftree-vectorize" } */ +/* { dg-skip-if "requires vectorization" { *-*-* } { "-O0" "-Os" } { "" } } */ + +extern float a[] __attribute__ ((aligned (8))); +extern float b[] __attribute__ ((aligned (8))); +extern float c[] __attribute__ ((aligned (8))); + +NOMIPS16 void +foo (void) +{ + int i; + for (i = 0; i < 16; i++) + a[i] = b[i] == c[i] + 1 ? b[i] : c[i]; +} + +/* { dg-final { scan-assembler "\tadd\\.ps\t" } } */ +/* { dg-final { scan-assembler "\tc\\.eq\\.ps\t" } } */ +/* { dg-final { scan-assembler "\tmov\[tf\]\\.ps\t" } } */ |