(set (attr "length") (symbol_ref "pa_attr_length_call (insn, 0)"))])
(define_insn "call_symref_pic"
- [(set (match_operand:SI 2 "register_operand" "=&r") (reg:SI 19))
- (call (mem:SI (match_operand 0 "call_operand_address" ""))
+ [(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" "i"))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:SI 19))
(use (const_int 0))]
"!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT"
;; terminate the basic block. The split has to contain more than one
;; insn.
(define_split
- [(parallel [(set (match_operand:SI 2 "register_operand" "") (reg:SI 19))
- (call (mem:SI (match_operand 0 "call_operand_address" ""))
+ [(parallel [(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" ""))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:SI 19))
(use (const_int 0))])]
"!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT && reload_completed
"")
(define_split
- [(parallel [(set (match_operand:SI 2 "register_operand" "") (reg:SI 19))
- (call (mem:SI (match_operand 0 "call_operand_address" ""))
+ [(parallel [(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" ""))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:SI 19))
(use (const_int 0))])]
"!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT && reload_completed"
;; This pattern is split if it is necessary to save and restore the
;; PIC register.
(define_insn "call_symref_64bit"
- [(set (match_operand:DI 2 "register_operand" "=&r") (reg:DI 27))
- (call (mem:SI (match_operand 0 "call_operand_address" ""))
+ [(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" "i"))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 0))]
;; terminate the basic block. The split has to contain more than one
;; insn.
(define_split
- [(parallel [(set (match_operand:DI 2 "register_operand" "") (reg:DI 27))
- (call (mem:SI (match_operand 0 "call_operand_address" ""))
+ [(parallel [(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" ""))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 0))])]
"")
(define_split
- [(parallel [(set (match_operand:DI 2 "register_operand" "") (reg:DI 27))
- (call (mem:SI (match_operand 0 "call_operand_address" ""))
+ [(parallel [(call (mem:SI (match_operand 0 "call_operand_address" ""))
(match_operand 1 "" ""))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 0))])]
;; This pattern is split if it is necessary to save and restore the
;; PIC register.
(define_insn "call_reg_pic"
- [(set (match_operand:SI 1 "register_operand" "=&r") (reg:SI 19))
- (call (mem:SI (reg:SI 22))
+ [(call (mem:SI (reg:SI 22))
(match_operand 0 "" "i"))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 1))
+ (clobber (match_operand 1))
(use (reg:SI 19))
(use (const_int 1))]
"!TARGET_64BIT"
;; terminate the basic block. The split has to contain more than one
;; insn.
(define_split
- [(parallel [(set (match_operand:SI 1 "register_operand" "") (reg:SI 19))
- (call (mem:SI (reg:SI 22))
+ [(parallel [(call (mem:SI (reg:SI 22))
(match_operand 0 "" ""))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 1))
+ (clobber (match_operand 1))
(use (reg:SI 19))
(use (const_int 1))])]
"!TARGET_64BIT && reload_completed
"")
(define_split
- [(parallel [(set (match_operand:SI 1 "register_operand" "") (reg:SI 19))
- (call (mem:SI (reg:SI 22))
+ [(parallel [(call (mem:SI (reg:SI 22))
(match_operand 0 "" ""))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 1))
+ (clobber (match_operand 1))
(use (reg:SI 19))
(use (const_int 1))])]
"!TARGET_64BIT && reload_completed"
;; This pattern is split if it is necessary to save and restore the
;; PIC register.
(define_insn "call_reg_64bit"
- [(set (match_operand:DI 2 "register_operand" "=&r") (reg:DI 27))
- (call (mem:SI (match_operand:DI 0 "register_operand" "r"))
+ [(call (mem:SI (match_operand:DI 0 "register_operand" "r"))
(match_operand 1 "" "i"))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 1))]
;; terminate the basic block. The split has to contain more than one
;; insn.
(define_split
- [(parallel [(set (match_operand:DI 2 "register_operand" "") (reg:DI 27))
- (call (mem:SI (match_operand 0 "register_operand" ""))
+ [(parallel [(call (mem:SI (match_operand 0 "register_operand" ""))
(match_operand 1 "" ""))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 1))])]
"")
(define_split
- [(parallel [(set (match_operand:DI 2 "register_operand" "") (reg:DI 27))
- (call (mem:SI (match_operand 0 "register_operand" ""))
+ [(parallel [(call (mem:SI (match_operand 0 "register_operand" ""))
(match_operand 1 "" ""))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 1))])]
(set (attr "length") (symbol_ref "pa_attr_length_call (insn, 0)"))])
(define_insn "call_val_symref_pic"
- [(set (match_operand:SI 3 "register_operand" "=&r") (reg:SI 19))
- (set (match_operand 0 "" "")
+ [(set (match_operand 0 "" "")
(call (mem:SI (match_operand 1 "call_operand_address" ""))
(match_operand 2 "" "i")))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:SI 19))
(use (const_int 0))]
"!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT"
;; terminate the basic block. The split has to contain more than one
;; insn.
(define_split
- [(parallel [(set (match_operand:SI 3 "register_operand" "") (reg:SI 19))
- (set (match_operand 0 "" "")
+ [(parallel [(set (match_operand 0 "" "")
(call (mem:SI (match_operand 1 "call_operand_address" ""))
(match_operand 2 "" "")))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:SI 19))
(use (const_int 0))])]
"!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT && reload_completed
"")
(define_split
- [(parallel [(set (match_operand:SI 3 "register_operand" "") (reg:SI 19))
- (set (match_operand 0 "" "")
+ [(parallel [(set (match_operand 0 "" "")
(call (mem:SI (match_operand 1 "call_operand_address" ""))
(match_operand 2 "" "")))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:SI 19))
(use (const_int 0))])]
"!TARGET_PORTABLE_RUNTIME && !TARGET_64BIT && reload_completed"
;; This pattern is split if it is necessary to save and restore the
;; PIC register.
(define_insn "call_val_symref_64bit"
- [(set (match_operand:DI 3 "register_operand" "=&r") (reg:DI 27))
- (set (match_operand 0 "" "")
+ [(set (match_operand 0 "" "")
(call (mem:SI (match_operand 1 "call_operand_address" ""))
(match_operand 2 "" "i")))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 0))]
;; terminate the basic block. The split has to contain more than one
;; insn.
(define_split
- [(parallel [(set (match_operand:DI 3 "register_operand" "") (reg:DI 27))
- (set (match_operand 0 "" "")
+ [(parallel [(set (match_operand 0 "" "")
(call (mem:SI (match_operand 1 "call_operand_address" ""))
(match_operand 2 "" "")))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 0))])]
"")
(define_split
- [(parallel [(set (match_operand:DI 3 "register_operand" "") (reg:DI 27))
- (set (match_operand 0 "" "")
+ [(parallel [(set (match_operand 0 "" "")
(call (mem:SI (match_operand 1 "call_operand_address" ""))
(match_operand 2 "" "")))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 0))])]
;; This pattern is split if it is necessary to save and restore the
;; PIC register.
(define_insn "call_val_reg_pic"
- [(set (match_operand:SI 2 "register_operand" "=&r") (reg:SI 19))
- (set (match_operand 0 "" "")
+ [(set (match_operand 0 "" "")
(call (mem:SI (reg:SI 22))
(match_operand 1 "" "i")))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:SI 19))
(use (const_int 1))]
"!TARGET_64BIT"
;; terminate the basic block. The split has to contain more than one
;; insn.
(define_split
- [(parallel [(set (match_operand:SI 2 "register_operand" "") (reg:SI 19))
- (set (match_operand 0 "" "")
+ [(parallel [(set (match_operand 0 "" "")
(call (mem:SI (reg:SI 22))
(match_operand 1 "" "")))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:SI 19))
(use (const_int 1))])]
"!TARGET_64BIT && reload_completed
"")
(define_split
- [(parallel [(set (match_operand:SI 2 "register_operand" "") (reg:SI 19))
- (set (match_operand 0 "" "")
+ [(parallel [(set (match_operand 0 "" "")
(call (mem:SI (reg:SI 22))
(match_operand 1 "" "")))
(clobber (reg:SI 1))
(clobber (reg:SI 2))
- (use (match_dup 2))
+ (clobber (match_operand 2))
(use (reg:SI 19))
(use (const_int 1))])]
"!TARGET_64BIT && reload_completed"
;; This pattern is split if it is necessary to save and restore the
;; PIC register.
(define_insn "call_val_reg_64bit"
- [(set (match_operand:DI 3 "register_operand" "=&r") (reg:DI 27))
- (set (match_operand 0 "" "")
+ [(set (match_operand 0 "" "")
(call (mem:SI (match_operand:DI 1 "register_operand" "r"))
(match_operand 2 "" "i")))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 1))]
;; terminate the basic block. The split has to contain more than one
;; insn.
(define_split
- [(parallel [(set (match_operand:DI 3 "register_operand" "") (reg:DI 27))
- (set (match_operand 0 "" "")
+ [(parallel [(set (match_operand 0 "" "")
(call (mem:SI (match_operand:DI 1 "register_operand" ""))
(match_operand 2 "" "")))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 1))])]
"")
(define_split
- [(parallel [(set (match_operand:DI 3 "register_operand" "") (reg:DI 27))
- (set (match_operand 0 "" "")
+ [(parallel [(set (match_operand 0 "" "")
(call (mem:SI (match_operand:DI 1 "register_operand" ""))
(match_operand 2 "" "")))
(clobber (reg:DI 1))
(clobber (reg:DI 2))
- (use (match_dup 3))
+ (clobber (match_operand 3))
(use (reg:DI 27))
(use (reg:DI 29))
(use (const_int 1))])]