;; seem to be a way around it. Only recognize them while reloading.
(define_insn ""
- [(set (match_operand:DI 0 "register_operand" "=&r")
- (plus:DI (plus:DI (match_operand:DI 1 "register_operand" "r")
- (match_operand:DI 2 "register_operand" "r"))
- (match_operand:DI 3 "add_operand" "rIOKL")))]
+ [(set (match_operand:DI 0 "some_operand" "=&r")
+ (plus:DI (plus:DI (match_operand:DI 1 "some_operand" "r")
+ (match_operand:DI 2 "some_operand" "r"))
+ (match_operand:DI 3 "some_operand" "rIOKL")))]
"reload_in_progress"
"#"
[(set_attr "type" "iaddlog")])
"")
(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=&r")
+ [(set (match_operand:SI 0 "some_operand" "=&r")
(plus:SI (plus:SI (mult:SI (match_operand:SI 1 "some_operand" "rJ")
(match_operand:SI 2 "const48_operand" "I"))
- (match_operand:SI 3 "register_operand" "r"))
- (match_operand:SI 4 "add_operand" "rIOKL")))]
+ (match_operand:SI 3 "some_operand" "r"))
+ (match_operand:SI 4 "some_operand" "rIOKL")))]
"reload_in_progress"
"#"
[(set_attr "type" "iaddlog")])
"")
(define_insn ""
- [(set (match_operand:DI 0 "register_operand" "=&r")
+ [(set (match_operand:DI 0 "some_operand" "=&r")
(sign_extend:DI
(plus:SI (plus:SI
(mult:SI (match_operand:SI 1 "some_operand" "rJ")
(match_operand:SI 2 "const48_operand" "I"))
- (match_operand:SI 3 "register_operand" "r"))
- (match_operand:SI 4 "add_operand" "rIOKL"))))]
+ (match_operand:SI 3 "some_operand" "r"))
+ (match_operand:SI 4 "some_operand" "rIOKL"))))]
"reload_in_progress"
"#"
[(set_attr "type" "iaddlog")])
}")
(define_insn ""
- [(set (match_operand:DI 0 "register_operand" "=&r")
+ [(set (match_operand:DI 0 "some_operand" "=&r")
(plus:DI (plus:DI (mult:DI (match_operand:DI 1 "some_operand" "rJ")
(match_operand:DI 2 "const48_operand" "I"))
- (match_operand:DI 3 "register_operand" "r"))
- (match_operand:DI 4 "add_operand" "rIOKL")))]
+ (match_operand:DI 3 "some_operand" "r"))
+ (match_operand:DI 4 "some_operand" "rIOKL")))]
"reload_in_progress"
"#"
[(set_attr "type" "iaddlog")])