aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sparc
diff options
context:
space:
mode:
authorSheldon Lobo <smlobo@sheldon.us.oracle.com>2017-05-24 14:46:05 +0000
committerSheldon Lobo <smlobo@gcc.gnu.org>2017-05-24 14:46:05 +0000
commit657e5f832623af590eabf9794dd2f9b0d7ac0855 (patch)
tree9b9260938c8a479b903351cf1d739e5230d5c78b /gcc/config/sparc
parent6938e7f1d803d3e56eb0004f826c302c2bc39584 (diff)
downloadgcc-657e5f832623af590eabf9794dd2f9b0d7ac0855.zip
gcc-657e5f832623af590eabf9794dd2f9b0d7ac0855.tar.gz
gcc-657e5f832623af590eabf9794dd2f9b0d7ac0855.tar.bz2
Fix a SPARC -mcbcond compare-and-branch out of range failure.
* config/sparc/sparc.md (length): Return the correct value for -mflat sibcalls to match output_sibcall. From-SVN: r248422
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r--gcc/config/sparc/sparc.md3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 29a8bcf..3f970f7 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -338,7 +338,8 @@
(const_int 2)
(const_int 1))
(eq_attr "type" "sibcall")
- (if_then_else (eq_attr "leaf_function" "true")
+ (if_then_else (ior (eq_attr "leaf_function" "true")
+ (eq_attr "flat" "true"))
(if_then_else (eq_attr "empty_delay_slot" "true")
(const_int 3)
(const_int 2))