From 657e5f832623af590eabf9794dd2f9b0d7ac0855 Mon Sep 17 00:00:00 2001 From: Sheldon Lobo Date: Wed, 24 May 2017 14:46:05 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/sparc/sparc.md | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef4dbb78b16..69356fc0bc6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-05-24 Sheldon Lobo + + * config/sparc/sparc.md (length): Return the correct value for -mflat + sibcalls to match output_sibcall. + 2017-05-24 Segher Boessenkool PR bootstrap/80860 diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 29a8bcfeecb..3f970f7c2af 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)) -- 2.30.2