Two new patterns, to match (HIGH (UNSPEC (..)))

From-SVN: r6680
This commit is contained in:
Stan Cox 1994-03-01 17:07:57 +00:00
parent 6825be948b
commit 8cf85c4ba9
1 changed files with 23 additions and 0 deletions

View File

@ -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"