Two new patterns, to match (HIGH (UNSPEC (..)))
From-SVN: r6680
This commit is contained in:
parent
6825be948b
commit
8cf85c4ba9
|
@ -1838,12 +1838,35 @@
|
|||
""
|
||||
"or %0,%1,%#lo16(%g2)")
|
||||
|
||||
;; For PIC, symbol_refs are put inside unspec so that the optimizer won't
|
||||
;; confuse them with real addresses.
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(lo_sum:SI (match_operand:SI 1 "register_operand" "r")
|
||||
(unspec:SI [(match_operand:SI 2 "immediate_operand" "in")] 0)))]
|
||||
""
|
||||
"or %0,%1,%#lo16(%g2)"
|
||||
;; Need to set length for this arith insn because operand2
|
||||
;; is not an "arith_operand".
|
||||
[(set_attr "length" "1")])
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(high:SI (match_operand 1 "" "")))]
|
||||
""
|
||||
"or.u %0,%#r0,%#hi16(%g1)")
|
||||
|
||||
;; For PIC, symbol_refs are put inside unspec so that the optimizer won't
|
||||
;; confuse them with real addresses.
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(high:SI (unspec:SI [(match_operand 1 "" "")] 0)))]
|
||||
""
|
||||
"or.u %0,%#r0,%#hi16(%g1)"
|
||||
;; Need to set length for this arith insn because operand2
|
||||
;; is not an arith_operand.
|
||||
[(set_attr "length" "1")])
|
||||
|
||||
;; HImode move instructions
|
||||
|
||||
(define_expand "movhi"
|
||||
|
|
Loading…
Reference in New Issue