summaryrefslogtreecommitdiff
path: root/gcc/config/arm/arm.md
diff options
context:
space:
mode:
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-03 15:12:23 +0000
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-03 15:12:23 +0000
commit21cc97731ed68d88f511fef6f11c707905f6a097 (patch)
treee4998b8398e80bc80fab242463c839024cdc532e /gcc/config/arm/arm.md
parentd69521d8e318362ab011819499294da78cdad64c (diff)
downloadgcc-21cc97731ed68d88f511fef6f11c707905f6a097.tar.gz
* arm.md (arch): Add armv6_or_vfpv3.
(arch_enabled): Add test for the above. * vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run on VFP9. (sqrtsf_vfp, sqrtdf_vfp): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212265 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/arm.md')
-rw-r--r--gcc/config/arm/arm.md9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 42c12c8f87f..65ed25d25f9 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -127,7 +127,7 @@
; for ARM or Thumb-2 with arm_arch6, and nov6 for ARM without
; arm_arch6. This attribute is used to compute attribute "enabled",
; use type "any" to enable an alternative in all cases.
-(define_attr "arch" "any,a,t,32,t1,t2,v6,nov6,neon_for_64bits,avoid_neon_for_64bits,iwmmxt,iwmmxt2"
+(define_attr "arch" "any,a,t,32,t1,t2,v6,nov6,neon_for_64bits,avoid_neon_for_64bits,iwmmxt,iwmmxt2,armv6_or_vfpv3"
(const_string "any"))
(define_attr "arch_enabled" "no,yes"
@@ -174,7 +174,12 @@
(and (eq_attr "arch" "iwmmxt2")
(match_test "TARGET_REALLY_IWMMXT2"))
- (const_string "yes")]
+ (const_string "yes")
+
+ (and (eq_attr "arch" "armv6_or_vfpv3")
+ (match_test "arm_arch6 || TARGET_VFP3"))
+ (const_string "yes")
+ ]
(const_string "no")))