diff options
author | Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | 2011-12-05 10:42:53 +0000 |
---|---|---|
committer | Ramana Radhakrishnan <ramana@gcc.gnu.org> | 2011-12-05 10:42:53 +0000 |
commit | 7f3d8f56e747b1a814c633a9ab160adf02b5d498 (patch) | |
tree | 4a87ff296b65cc5bfe682da8351229352bb7e4d2 /gcc/config/arm/predicates.md | |
parent | 3128f9557f09ae599cc07f5e5bbcd96a8c4ec957 (diff) | |
download | gcc-7f3d8f56e747b1a814c633a9ab160adf02b5d498.zip gcc-7f3d8f56e747b1a814c633a9ab160adf02b5d498.tar.gz gcc-7f3d8f56e747b1a814c633a9ab160adf02b5d498.tar.bz2 |
Use vcvt from fixed to floating point where applicable.
2011-12-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* config/arm/arm.c (vfp3_const_double_for_fract_bits): Define.
* config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare.
* config/arm/constraints.md ("Dt"): New constraint.
* config/arm/predicates.md (const_double_vcvt_power_of_two_reciprocal):
New.
* config/arm/vfp.md (*arm_combine_vcvt_f32_s32): New.
(*arm_combine_vcvt_f32_u32): New.
From-SVN: r182005
Diffstat (limited to 'gcc/config/arm/predicates.md')
-rw-r--r-- | gcc/config/arm/predicates.md | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md index 92eb004..b535335 100644 --- a/gcc/config/arm/predicates.md +++ b/gcc/config/arm/predicates.md @@ -754,6 +754,11 @@ return true; }) +(define_predicate "const_double_vcvt_power_of_two_reciprocal" + (and (match_code "const_double") + (match_test "TARGET_32BIT && TARGET_VFP + && vfp3_const_double_for_fract_bits (op)"))) + (define_predicate "neon_struct_operand" (and (match_code "mem") (match_test "TARGET_32BIT && neon_vector_mem_operand (op, 2)"))) |