Commit 58be56ea by John David Anglin Committed by John David Anglin

pa.md (MAX_12BIT_OFFSET, [...]): Define and use new symbolic constants in branch patterns.

	* pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
	symbolic constants in branch patterns.

From-SVN: r112864
parent f6c4ed08
2006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca>
* pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
symbolic constants in branch patterns.
2006-04-11 Roger Sayle <roger@eyesopen.com> 2006-04-11 Roger Sayle <roger@eyesopen.com>
* caller-save.c: #include "addresses.h" after #include "tm_p.h". * caller-save.c: #include "addresses.h" after #include "tm_p.h".
......
;;- Machine description for HP PA-RISC architecture for GCC compiler ;;- Machine description for HP PA-RISC architecture for GCC compiler
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
;; 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ;; 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
;; Contributed by the Center for Software Science at the University ;; Contributed by the Center for Software Science at the University
;; of Utah. ;; of Utah.
...@@ -52,6 +52,16 @@ ...@@ -52,6 +52,16 @@
(UNSPECV_LONGJMP 5) ; builtin_longjmp (UNSPECV_LONGJMP 5) ; builtin_longjmp
]) ])
;; Maximum pc-relative branch offsets.
;; These numbers are a bit smaller than the maximum allowable offsets
;; so that a few instructions may be inserted before the actual branch.
(define_constants
[(MAX_12BIT_OFFSET 8184) ; 12-bit branch
(MAX_17BIT_OFFSET 262100) ; 17-bit branch
])
;; Insn type. Used to default other attribute values. ;; Insn type. Used to default other attribute values.
;; type "unary" insns have one input operand (1) and one output operand (0) ;; type "unary" insns have one input operand (1) and one output operand (0)
...@@ -1713,10 +1723,10 @@ ...@@ -1713,10 +1723,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -1742,10 +1752,10 @@ ...@@ -1742,10 +1752,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -1769,10 +1779,10 @@ ...@@ -1769,10 +1779,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -1798,10 +1808,10 @@ ...@@ -1798,10 +1808,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -1824,10 +1834,10 @@ ...@@ -1824,10 +1834,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -1853,10 +1863,10 @@ ...@@ -1853,10 +1863,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -1882,10 +1892,10 @@ ...@@ -1882,10 +1892,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -1910,10 +1920,10 @@ ...@@ -1910,10 +1920,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -1938,10 +1948,10 @@ ...@@ -1938,10 +1948,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -1966,10 +1976,10 @@ ...@@ -1966,10 +1976,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -1994,10 +2004,10 @@ ...@@ -1994,10 +2004,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2022,10 +2032,10 @@ ...@@ -2022,10 +2032,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2050,10 +2060,10 @@ ...@@ -2050,10 +2060,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2078,10 +2088,10 @@ ...@@ -2078,10 +2088,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2107,10 +2117,10 @@ ...@@ -2107,10 +2117,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2135,10 +2145,10 @@ ...@@ -2135,10 +2145,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2163,10 +2173,10 @@ ...@@ -2163,10 +2173,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2191,10 +2201,10 @@ ...@@ -2191,10 +2201,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2219,10 +2229,10 @@ ...@@ -2219,10 +2229,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2247,10 +2257,10 @@ ...@@ -2247,10 +2257,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2275,10 +2285,10 @@ ...@@ -2275,10 +2285,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2303,10 +2313,10 @@ ...@@ -2303,10 +2313,10 @@
[(set_attr "type" "cbranch") [(set_attr "type" "cbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -2355,7 +2365,7 @@ ...@@ -2355,7 +2365,7 @@
[(set_attr "type" "fbranch") [(set_attr "type" "fbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 32) (const_int 32)
...@@ -2399,7 +2409,7 @@ ...@@ -2399,7 +2409,7 @@
[(set_attr "type" "fbranch") [(set_attr "type" "fbranch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 12) (const_int 12)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -7181,11 +7191,11 @@ ...@@ -7181,11 +7191,11 @@
(cond [(eq (symbol_ref "jump_in_call_delay (insn)") (const_int 1)) (cond [(eq (symbol_ref "jump_in_call_delay (insn)") (const_int 1))
(if_then_else (lt (abs (minus (match_dup 0) (if_then_else (lt (abs (minus (match_dup 0)
(plus (pc) (const_int 8)))) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(const_int 8)) (const_int 8))
(lt (abs (minus (match_dup 0) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 0) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 4) (const_int 4)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 20) (const_int 20)
...@@ -9007,10 +9017,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9007,10 +9017,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
;; Short branch has length of 4 ;; Short branch has length of 4
;; Long branch has length of 8, 20, 24 or 28 ;; Long branch has length of 8, 20, 24 or 28
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -9023,10 +9033,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9023,10 +9033,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
(if_then_else (eq_attr "alternative" "1") (if_then_else (eq_attr "alternative" "1")
(if_then_else (lt (match_dup 3) (pc)) (if_then_else (lt (match_dup 3) (pc))
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 24)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 24))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 24) (const_int 24)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 24)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 24))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 28) (const_int 28)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 44) (const_int 44)
...@@ -9034,10 +9044,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9034,10 +9044,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
(const_int 40)] (const_int 40)]
(const_int 48)) (const_int 48))
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 24) (const_int 24)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 28) (const_int 28)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 44) (const_int 44)
...@@ -9049,10 +9059,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9049,10 +9059,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
;; Extra goo to deal with additional reload insns. ;; Extra goo to deal with additional reload insns.
(if_then_else (lt (match_dup 3) (pc)) (if_then_else (lt (match_dup 3) (pc))
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 12) (const_int 12)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 12))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 16) (const_int 16)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 32) (const_int 32)
...@@ -9060,10 +9070,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9060,10 +9070,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
(const_int 28)] (const_int 28)]
(const_int 36)) (const_int 36))
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 12) (const_int 12)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 16) (const_int 16)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 32) (const_int 32)
...@@ -9090,10 +9100,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9090,10 +9100,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
;; Short branch has length of 4 ;; Short branch has length of 4
;; Long branch has length of 8, 20, 24 or 28 ;; Long branch has length of 8, 20, 24 or 28
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -9106,10 +9116,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9106,10 +9116,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
(if_then_else (eq_attr "alternative" "1") (if_then_else (eq_attr "alternative" "1")
(if_then_else (lt (match_dup 3) (pc)) (if_then_else (lt (match_dup 3) (pc))
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 12) (const_int 12)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 12))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 16) (const_int 16)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 32) (const_int 32)
...@@ -9117,10 +9127,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9117,10 +9127,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
(const_int 28)] (const_int 28)]
(const_int 36)) (const_int 36))
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 12) (const_int 12)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 16) (const_int 16)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 32) (const_int 32)
...@@ -9131,10 +9141,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9131,10 +9141,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
;; Loop counter in memory or sar case. ;; Loop counter in memory or sar case.
;; Extra goo to deal with additional reload insns. ;; Extra goo to deal with additional reload insns.
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 8) (const_int 8)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 12) (const_int 12)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -9162,10 +9172,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9162,10 +9172,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
;; Short branch has length of 4 ;; Short branch has length of 4
;; Long branch has length of 8 ;; Long branch has length of 8
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -9178,10 +9188,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9178,10 +9188,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
(if_then_else (eq_attr "alternative" "1") (if_then_else (eq_attr "alternative" "1")
(if_then_else (lt (match_dup 3) (pc)) (if_then_else (lt (match_dup 3) (pc))
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 12) (const_int 12)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 12)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 12))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 16) (const_int 16)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 32) (const_int 32)
...@@ -9189,10 +9199,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9189,10 +9199,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
(const_int 28)] (const_int 28)]
(const_int 36)) (const_int 36))
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 12) (const_int 12)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 16) (const_int 16)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 32) (const_int 32)
...@@ -9203,10 +9213,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9203,10 +9213,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
;; Loop counter in memory or SAR case. ;; Loop counter in memory or SAR case.
;; Extra goo to deal with additional reload insns. ;; Extra goo to deal with additional reload insns.
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 8) (const_int 8)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 12) (const_int 12)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 28) (const_int 28)
...@@ -9227,10 +9237,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9227,10 +9237,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
[(set_attr "type" "parallel_branch") [(set_attr "type" "parallel_branch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 3) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 3) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -9250,10 +9260,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9250,10 +9260,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
[(set_attr "type" "parallel_branch") [(set_attr "type" "parallel_branch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -9273,10 +9283,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9273,10 +9283,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
[(set_attr "type" "parallel_branch") [(set_attr "type" "parallel_branch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -9296,10 +9306,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9296,10 +9306,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
[(set_attr "type" "parallel_branch") [(set_attr "type" "parallel_branch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
...@@ -9319,10 +9329,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9319,10 +9329,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
[(set_attr "type" "parallel_branch") [(set_attr "type" "parallel_branch")
(set (attr "length") (set (attr "length")
(cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (cond [(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 8184)) (const_int MAX_12BIT_OFFSET))
(const_int 4) (const_int 4)
(lt (abs (minus (match_dup 2) (plus (pc) (const_int 8)))) (lt (abs (minus (match_dup 2) (plus (pc) (const_int 8))))
(const_int 262100)) (const_int MAX_17BIT_OFFSET))
(const_int 8) (const_int 8)
(ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0)) (ne (symbol_ref "TARGET_PORTABLE_RUNTIME") (const_int 0))
(const_int 24) (const_int 24)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment