Fix a SPARC -mcbcond compare-and-branch out of range failure.
authorSheldon Lobo <smlobo@sheldon.us.oracle.com>
Wed, 24 May 2017 14:46:05 +0000 (14:46 +0000)
committerSheldon Lobo <smlobo@gcc.gnu.org>
Wed, 24 May 2017 14:46:05 +0000 (14:46 +0000)
* config/sparc/sparc.md (length): Return the correct value for -mflat
sibcalls to match output_sibcall.

From-SVN: r248422

gcc/ChangeLog
gcc/config/sparc/sparc.md

index ef4dbb78b16d8922cad609f7c6ba3311d5e2d445..69356fc0bc69e1fadb66fcbbfd560deff29f5958 100644 (file)
@@ -1,3 +1,8 @@
+2017-05-24  Sheldon Lobo  <smlobo@sheldon.us.oracle.com>
+
+       * config/sparc/sparc.md (length): Return the correct value for -mflat
+       sibcalls to match output_sibcall.
+
 2017-05-24  Segher Boessenkool  <segher@kernel.crashing.org>
 
        PR bootstrap/80860
index 29a8bcfeecb71c7b8d5ff783ae785c83aee120a1..3f970f7c2af8fae492aac97152c4361b0871db83 100644 (file)
             (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))