diff options
author | Paul Brook <pbrook@gcc.gnu.org> | 2009-01-27 16:14:13 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2009-01-27 16:14:13 +0000 |
commit | 7b7d60003fdc93ba1be6b25fbb7c393e2837c0e6 (patch) | |
tree | 9dbac1b325b59cb08340d90c1394377ec1bbfa05 /gcc | |
parent | b5c3dfbbfb5bd2c75b333b5ef99a06e57d790096 (diff) | |
download | gcc-7b7d60003fdc93ba1be6b25fbb7c393e2837c0e6.zip gcc-7b7d60003fdc93ba1be6b25fbb7c393e2837c0e6.tar.gz gcc-7b7d60003fdc93ba1be6b25fbb7c393e2837c0e6.tar.bz2 |
Fix broken commit from r143594.
From-SVN: r143705
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config.gcc | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon-cond-1.c | 30 |
2 files changed, 31 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 63bd62b..aa224ae 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -760,7 +760,7 @@ arm*-*-eabi* | arm*-*-symbianelf* ) tmake_file="arm/t-arm arm/t-arm-elf" case ${target} in arm*-*-eabi*) - tm_file="$tm_file arm/eabi.h arm/nocrt0.h" + tm_file="$tm_file arm/eabi.h" tmake_file="${tmake_file} arm/t-bpabi" extra_options="${extra_options} arm/eabi.opt" ;; diff --git a/gcc/testsuite/gcc.target/arm/neon-cond-1.c b/gcc/testsuite/gcc.target/arm/neon-cond-1.c new file mode 100644 index 0000000..7d87b6e --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-cond-1.c @@ -0,0 +1,30 @@ +/* { dg-do run } */ +/* { dg-require-effective-target arm_neon_hw } */ +/* { dg-options "-O2 -mfpu=neon -mfloat-abi=softfp" } */ +/* Check that the arm_final_prescan_insn ccfsm code does not try to + * conditionally execute NEON instructions. */ +#include <arm_neon.h> +#include <stdlib.h> + +int __attribute__((noinline)) +foo(uint32x2_t a, uint32_t *p, uint32_t *q) +{ + if (p != q) + /* This vst1 instruction could be conditional, except that NEON + instructions are never conditional in ARM mode. */ + vst1_u32(p, a); + return 0; +} + +int +main() +{ + uint32x2_t v; + uint32_t a[2] = {1, 42}; + v = vld1_u32(a); + v = vadd_u32(v, v); + foo(v, a, a); + if (a[0] != 1 || a[1] != 42) + abort(); + exit(0); +} |