Commit 8406d023 by Roman Zippel Committed by Richard Henderson

m68k.md: Replace all general_operand with nonimmediate_operand for all destinations.

        * config/m68k/m68k.md: Replace all general_operand with
        nonimmediate_operand for all destinations.
        * config/m68k/m68k.c (not_sp_operand): Likewise.

From-SVN: r44499
parent 4d494dfe
2001-07-30 Roman Zippel <zippel@linux-m68k.org>
* config/m68k/m68k.md: Replace all general_operand with
nonimmediate_operand for all destinations.
* config/m68k/m68k.c (not_sp_operand): Likewise.
Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com) Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
* flow.c (merge_blocks): Return 1 if an extra jump is inserted. * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
......
...@@ -1494,7 +1494,7 @@ not_sp_operand (op, mode) ...@@ -1494,7 +1494,7 @@ not_sp_operand (op, mode)
register rtx op; register rtx op;
enum machine_mode mode; enum machine_mode mode;
{ {
return op != stack_pointer_rtx && general_operand (op, mode); return op != stack_pointer_rtx && nonimmediate_operand (op, mode);
} }
/* Return TRUE if X is a valid comparison operator for the dbcc /* Return TRUE if X is a valid comparison operator for the dbcc
......
...@@ -885,7 +885,7 @@ ...@@ -885,7 +885,7 @@
;This is never used. ;This is never used.
;(define_insn "swapsi" ;(define_insn "swapsi"
; [(set (match_operand:SI 0 "general_operand" "+r") ; [(set (match_operand:SI 0 "nonimmediate_operand" "+r")
; (match_operand:SI 1 "general_operand" "+r")) ; (match_operand:SI 1 "general_operand" "+r"))
; (set (match_dup 1) (match_dup 0))] ; (set (match_dup 1) (match_dup 0))]
; "" ; ""
...@@ -896,7 +896,7 @@ ...@@ -896,7 +896,7 @@
;; into a data reg with moveq in order to store it elsewhere. ;; into a data reg with moveq in order to store it elsewhere.
(define_insn "movsi_const0" (define_insn "movsi_const0"
[(set (match_operand:SI 0 "general_operand" "=g") [(set (match_operand:SI 0 "nonimmediate_operand" "=g")
(const_int 0))] (const_int 0))]
;; clr insns on 68000 read before writing. ;; clr insns on 68000 read before writing.
;; This isn't so on the 68010, but we have no TARGET_68010. ;; This isn't so on the 68010, but we have no TARGET_68010.
...@@ -943,7 +943,7 @@ ...@@ -943,7 +943,7 @@
;; In both the PIC and non-PIC cases the patterns generated will ;; In both the PIC and non-PIC cases the patterns generated will
;; matched by the next define_insn. ;; matched by the next define_insn.
(define_expand "movsi" (define_expand "movsi"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(match_operand:SI 1 "general_operand" ""))] (match_operand:SI 1 "general_operand" ""))]
"" ""
" "
...@@ -977,7 +977,7 @@ ...@@ -977,7 +977,7 @@
;; Notes: make sure no alternative allows g vs g. ;; Notes: make sure no alternative allows g vs g.
;; We don't allow f-regs since fixed point cannot go in them. ;; We don't allow f-regs since fixed point cannot go in them.
;; We do allow y and x regs since fixed point is allowed in them. ;; We do allow y and x regs since fixed point is allowed in them.
[(set (match_operand:SI 0 "general_operand" "=g,d,a<,y,!*x*r*m") [(set (match_operand:SI 0 "nonimmediate_operand" "=g,d,a<,y,!*x*r*m")
(match_operand:SI 1 "general_src_operand" "daymSKT,n,i,g,*x*r*m"))] (match_operand:SI 1 "general_src_operand" "daymSKT,n,i,g,*x*r*m"))]
"!TARGET_5200" "!TARGET_5200"
...@@ -991,7 +991,7 @@ ...@@ -991,7 +991,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=r<Q>,g") [(set (match_operand:SI 0 "nonimmediate_operand" "=r<Q>,g")
(match_operand:SI 1 "general_operand" "g,r<Q>"))] (match_operand:SI 1 "general_operand" "g,r<Q>"))]
"TARGET_5200" "TARGET_5200"
"* return output_move_simode (operands);") "* return output_move_simode (operands);")
...@@ -999,7 +999,7 @@ ...@@ -999,7 +999,7 @@
;; Special case of fullword move, where we need to get a non-GOT PIC ;; Special case of fullword move, where we need to get a non-GOT PIC
;; reference into an address register. ;; reference into an address register.
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=a<") [(set (match_operand:SI 0 "nonimmediate_operand" "=a<")
(match_operand:SI 1 "pcrel_address" ""))] (match_operand:SI 1 "pcrel_address" ""))]
"TARGET_PCREL" "TARGET_PCREL"
"* "*
...@@ -1010,87 +1010,87 @@ ...@@ -1010,87 +1010,87 @@
}") }")
(define_expand "movhi" (define_expand "movhi"
[(set (match_operand:HI 0 "general_operand" "") [(set (match_operand:HI 0 "nonimmediate_operand" "")
(match_operand:HI 1 "general_operand" ""))] (match_operand:HI 1 "general_operand" ""))]
"" ""
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:HI 0 "general_operand" "=g") [(set (match_operand:HI 0 "nonimmediate_operand" "=g")
(match_operand:HI 1 "general_src_operand" "gS"))] (match_operand:HI 1 "general_src_operand" "gS"))]
"!TARGET_5200" "!TARGET_5200"
"* return output_move_himode (operands);") "* return output_move_himode (operands);")
(define_insn "" (define_insn ""
[(set (match_operand:HI 0 "general_operand" "=r<Q>,g") [(set (match_operand:HI 0 "nonimmediate_operand" "=r<Q>,g")
(match_operand:HI 1 "general_operand" "g,r<Q>"))] (match_operand:HI 1 "general_operand" "g,r<Q>"))]
"TARGET_5200" "TARGET_5200"
"* return output_move_himode (operands);") "* return output_move_himode (operands);")
(define_expand "movstricthi" (define_expand "movstricthi"
[(set (strict_low_part (match_operand:HI 0 "general_operand" "")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" ""))
(match_operand:HI 1 "general_src_operand" ""))] (match_operand:HI 1 "general_src_operand" ""))]
"" ""
"") "")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm"))
(match_operand:HI 1 "general_src_operand" "rmSn"))] (match_operand:HI 1 "general_src_operand" "rmSn"))]
"!TARGET_5200" "!TARGET_5200"
"* return output_move_stricthi (operands);") "* return output_move_stricthi (operands);")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+d,m")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+d,m"))
(match_operand:HI 1 "general_src_operand" "rmn,r"))] (match_operand:HI 1 "general_src_operand" "rmn,r"))]
"TARGET_5200" "TARGET_5200"
"* return output_move_stricthi (operands);") "* return output_move_stricthi (operands);")
(define_expand "movqi" (define_expand "movqi"
[(set (match_operand:QI 0 "general_operand" "") [(set (match_operand:QI 0 "nonimmediate_operand" "")
(match_operand:QI 1 "general_src_operand" ""))] (match_operand:QI 1 "general_src_operand" ""))]
"" ""
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:QI 0 "general_operand" "=d,*a,m") [(set (match_operand:QI 0 "nonimmediate_operand" "=d,*a,m")
(match_operand:QI 1 "general_src_operand" "dmSi*a,di*a,dmSi"))] (match_operand:QI 1 "general_src_operand" "dmSi*a,di*a,dmSi"))]
"!TARGET_5200" "!TARGET_5200"
"* return output_move_qimode (operands);") "* return output_move_qimode (operands);")
(define_insn "" (define_insn ""
[(set (match_operand:QI 0 "general_operand" "=d<Q>,dm,d*a") [(set (match_operand:QI 0 "nonimmediate_operand" "=d<Q>,dm,d*a")
(match_operand:QI 1 "general_src_operand" "dmi,d<Q>,di*a"))] (match_operand:QI 1 "general_src_operand" "dmi,d<Q>,di*a"))]
"TARGET_5200" "TARGET_5200"
"* return output_move_qimode (operands);") "* return output_move_qimode (operands);")
(define_expand "movstrictqi" (define_expand "movstrictqi"
[(set (strict_low_part (match_operand:QI 0 "general_operand" "")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" ""))
(match_operand:QI 1 "general_src_operand" ""))] (match_operand:QI 1 "general_src_operand" ""))]
"" ""
"") "")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm"))
(match_operand:QI 1 "general_src_operand" "dmSn"))] (match_operand:QI 1 "general_src_operand" "dmSn"))]
"!TARGET_5200" "!TARGET_5200"
"* return output_move_strictqi (operands);") "* return output_move_strictqi (operands);")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+d,m")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+d,m"))
(match_operand:QI 1 "general_src_operand" "dmn,d"))] (match_operand:QI 1 "general_src_operand" "dmn,d"))]
"TARGET_5200" "TARGET_5200"
"* return output_move_strictqi (operands);") "* return output_move_strictqi (operands);")
(define_expand "movsf" (define_expand "movsf"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(match_operand:SF 1 "general_operand" ""))] (match_operand:SF 1 "general_operand" ""))]
"" ""
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=rmf,x,y,rm,!x,!rm") [(set (match_operand:SF 0 "nonimmediate_operand" "=rmf,x,y,rm,!x,!rm")
(match_operand:SF 1 "general_operand" "rmfF,xH,rmF,y,rm,x"))] (match_operand:SF 1 "general_operand" "rmfF,xH,rmF,y,rm,x"))]
; [(set (match_operand:SF 0 "general_operand" "=rmf") ; [(set (match_operand:SF 0 "nonimmediate_operand" "=rmf")
; (match_operand:SF 1 "general_operand" "rmfF"))] ; (match_operand:SF 1 "general_operand" "rmfF"))]
"!TARGET_5200" "!TARGET_5200"
"* "*
...@@ -1170,23 +1170,23 @@ ...@@ -1170,23 +1170,23 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=r,g") [(set (match_operand:SF 0 "nonimmediate_operand" "=r,g")
(match_operand:SF 1 "general_operand" "g,r"))] (match_operand:SF 1 "general_operand" "g,r"))]
"TARGET_5200" "TARGET_5200"
"* return \"move%.l %1,%0\";") "* return \"move%.l %1,%0\";")
(define_expand "movdf" (define_expand "movdf"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(match_operand:DF 1 "general_operand" ""))] (match_operand:DF 1 "general_operand" ""))]
"" ""
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" [(set (match_operand:DF 0 "nonimmediate_operand"
"=*rm,*rf,*rf,&*rof<>,y,*rm,x,!x,!*rm") "=*rm,*rf,*rf,&*rof<>,y,*rm,x,!x,!*rm")
(match_operand:DF 1 "general_operand" (match_operand:DF 1 "general_operand"
"*rf,m,0,*rofE<>,*rmE,y,xH,*rm,x"))] "*rf,m,0,*rofE<>,*rmE,y,xH,*rm,x"))]
; [(set (match_operand:DF 0 "general_operand" "=rm,&rf,&rof<>") ; [(set (match_operand:DF 0 "nonimmediate_operand" "=rm,&rf,&rof<>")
; (match_operand:DF 1 "general_operand" "rf,m,rofF<>"))] ; (match_operand:DF 1 "general_operand" "rf,m,rofF<>"))]
"!TARGET_5200" "!TARGET_5200"
"* "*
...@@ -1239,7 +1239,7 @@ ...@@ -1239,7 +1239,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=r,g") [(set (match_operand:DF 0 "nonimmediate_operand" "=r,g")
(match_operand:DF 1 "general_operand" "g,r"))] (match_operand:DF 1 "general_operand" "g,r"))]
"TARGET_5200" "TARGET_5200"
"* return output_move_double (operands);") "* return output_move_double (operands);")
...@@ -1358,7 +1358,7 @@ ...@@ -1358,7 +1358,7 @@
(define_expand "movdi" (define_expand "movdi"
;; Let's see if it really still needs to handle fp regs, and, if so, why. ;; Let's see if it really still needs to handle fp regs, and, if so, why.
[(set (match_operand:DI 0 "general_operand" "") [(set (match_operand:DI 0 "nonimmediate_operand" "")
(match_operand:DI 1 "general_operand" ""))] (match_operand:DI 1 "general_operand" ""))]
"" ""
"") "")
...@@ -1366,11 +1366,11 @@ ...@@ -1366,11 +1366,11 @@
;; movdi can apply to fp regs in some cases ;; movdi can apply to fp regs in some cases
(define_insn "" (define_insn ""
;; Let's see if it really still needs to handle fp regs, and, if so, why. ;; Let's see if it really still needs to handle fp regs, and, if so, why.
[(set (match_operand:DI 0 "general_operand" "=rm,r,&ro<>,y,rm,!*x,!rm") [(set (match_operand:DI 0 "nonimmediate_operand" "=rm,r,&ro<>,y,rm,!*x,!rm")
(match_operand:DI 1 "general_operand" "rF,m,roi<>F,rmiF,y,rmF,*x"))] (match_operand:DI 1 "general_operand" "rF,m,roi<>F,rmiF,y,rmF,*x"))]
; [(set (match_operand:DI 0 "general_operand" "=rm,&r,&ro<>,!&rm,!&f,y,rm,x,!x,!rm") ; [(set (match_operand:DI 0 "nonimmediate_operand" "=rm,&r,&ro<>,!&rm,!&f,y,rm,x,!x,!rm")
; (match_operand:DI 1 "general_operand" "r,m,roi<>,fF,rfmF,rmi,y,rm,x"))] ; (match_operand:DI 1 "general_operand" "r,m,roi<>,fF,rfmF,rmi,y,rm,x"))]
; [(set (match_operand:DI 0 "general_operand" "=rm,&rf,&ro<>,!&rm,!&f") ; [(set (match_operand:DI 0 "nonimmediate_operand" "=rm,&rf,&ro<>,!&rm,!&f")
; (match_operand:DI 1 "general_operand" "r,m,roi<>,fF,rfF"))] ; (match_operand:DI 1 "general_operand" "r,m,roi<>,fF,rfF"))]
"!TARGET_5200" "!TARGET_5200"
"* "*
...@@ -1410,7 +1410,7 @@ ...@@ -1410,7 +1410,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:DI 0 "general_operand" "=r,g") [(set (match_operand:DI 0 "nonimmediate_operand" "=r,g")
(match_operand:DI 1 "general_operand" "g,r"))] (match_operand:DI 1 "general_operand" "g,r"))]
"TARGET_5200" "TARGET_5200"
"* return output_move_double (operands);") "* return output_move_double (operands);")
...@@ -1428,7 +1428,7 @@ ...@@ -1428,7 +1428,7 @@
;; truncation instructions ;; truncation instructions
(define_insn "truncsiqi2" (define_insn "truncsiqi2"
[(set (match_operand:QI 0 "general_operand" "=dm,d") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm,d")
(truncate:QI (truncate:QI
(match_operand:SI 1 "general_src_operand" "doJS,i")))] (match_operand:SI 1 "general_src_operand" "doJS,i")))]
"" ""
...@@ -1447,7 +1447,7 @@ ...@@ -1447,7 +1447,7 @@
}") }")
(define_insn "trunchiqi2" (define_insn "trunchiqi2"
[(set (match_operand:QI 0 "general_operand" "=dm,d") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm,d")
(truncate:QI (truncate:QI
(match_operand:HI 1 "general_src_operand" "doJS,i")))] (match_operand:HI 1 "general_src_operand" "doJS,i")))]
"" ""
...@@ -1475,7 +1475,7 @@ ...@@ -1475,7 +1475,7 @@
}") }")
(define_insn "truncsihi2" (define_insn "truncsihi2"
[(set (match_operand:HI 0 "general_operand" "=dm,d") [(set (match_operand:HI 0 "nonimmediate_operand" "=dm,d")
(truncate:HI (truncate:HI
(match_operand:SI 1 "general_src_operand" "roJS,i")))] (match_operand:SI 1 "general_src_operand" "roJS,i")))]
"" ""
...@@ -1496,7 +1496,7 @@ ...@@ -1496,7 +1496,7 @@
;; zero extension instructions ;; zero extension instructions
(define_insn "zero_extendqidi2" (define_insn "zero_extendqidi2"
[(set (match_operand:DI 0 "general_operand" "=&d") [(set (match_operand:DI 0 "nonimmediate_operand" "=&d")
(zero_extend:DI (match_operand:QI 1 "general_operand" "dm")))] (zero_extend:DI (match_operand:QI 1 "general_operand" "dm")))]
"" ""
"* "*
...@@ -1507,7 +1507,7 @@ ...@@ -1507,7 +1507,7 @@
}") }")
(define_insn "zero_extendhidi2" (define_insn "zero_extendhidi2"
[(set (match_operand:DI 0 "general_operand" "=&d") [(set (match_operand:DI 0 "nonimmediate_operand" "=&d")
(zero_extend:DI (match_operand:HI 1 "general_operand" "rm")))] (zero_extend:DI (match_operand:HI 1 "general_operand" "rm")))]
"" ""
"* "*
...@@ -1519,7 +1519,7 @@ ...@@ -1519,7 +1519,7 @@
;; this is the canonical form for (lshiftrt:DI x 32) ;; this is the canonical form for (lshiftrt:DI x 32)
(define_insn "zero_extendsidi2" (define_insn "zero_extendsidi2"
[(set (match_operand:DI 0 "general_operand" "=rm") [(set (match_operand:DI 0 "nonimmediate_operand" "=rm")
(zero_extend:DI (match_operand:SI 1 "general_operand" "rm")))] (zero_extend:DI (match_operand:SI 1 "general_operand" "rm")))]
"" ""
"* "*
...@@ -1584,7 +1584,7 @@ ...@@ -1584,7 +1584,7 @@
;; of this case will result in worse code than the uncombined patterns. ;; of this case will result in worse code than the uncombined patterns.
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=do<>,d<") [(set (match_operand:SI 0 "nonimmediate_operand" "=do<>,d<")
(zero_extend:SI (match_operand:HI 1 "nonimmediate_src_operand" "r,mS")))] (zero_extend:SI (match_operand:HI 1 "nonimmediate_src_operand" "r,mS")))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
"* "*
...@@ -1613,7 +1613,7 @@ ...@@ -1613,7 +1613,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:HI 0 "general_operand" "=do<>,d") [(set (match_operand:HI 0 "nonimmediate_operand" "=do<>,d")
(zero_extend:HI (match_operand:QI 1 "nonimmediate_src_operand" "d,mS")))] (zero_extend:HI (match_operand:QI 1 "nonimmediate_src_operand" "d,mS")))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
"* "*
...@@ -1654,7 +1654,7 @@ ...@@ -1654,7 +1654,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=do<>,d") [(set (match_operand:SI 0 "nonimmediate_operand" "=do<>,d")
(zero_extend:SI (match_operand:QI 1 "nonimmediate_src_operand" "d,mS")))] (zero_extend:SI (match_operand:QI 1 "nonimmediate_src_operand" "d,mS")))]
"GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
"* "*
...@@ -1707,7 +1707,7 @@ ...@@ -1707,7 +1707,7 @@
;; sign extension instructions ;; sign extension instructions
(define_insn "extendqidi2" (define_insn "extendqidi2"
[(set (match_operand:DI 0 "general_operand" "=d") [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
(sign_extend:DI (match_operand:QI 1 "general_src_operand" "rmS")))] (sign_extend:DI (match_operand:QI 1 "general_src_operand" "rmS")))]
"" ""
"* "*
...@@ -1721,7 +1721,7 @@ ...@@ -1721,7 +1721,7 @@
}") }")
(define_insn "extendhidi2" (define_insn "extendhidi2"
[(set (match_operand:DI 0 "general_operand" "=d") [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
(sign_extend:DI (sign_extend:DI
(match_operand:HI 1 "general_src_operand" "rmS")))] (match_operand:HI 1 "general_src_operand" "rmS")))]
"" ""
...@@ -1736,7 +1736,7 @@ ...@@ -1736,7 +1736,7 @@
}") }")
(define_insn "extendsidi2" (define_insn "extendsidi2"
[(set (match_operand:DI 0 "general_operand" "=d") [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
(sign_extend:DI (sign_extend:DI
(match_operand:SI 1 "general_operand" "rm")))] (match_operand:SI 1 "general_operand" "rm")))]
"" ""
...@@ -1783,7 +1783,7 @@ ...@@ -1783,7 +1783,7 @@
}") }")
(define_insn "extendhisi2" (define_insn "extendhisi2"
[(set (match_operand:SI 0 "general_operand" "=*d,a") [(set (match_operand:SI 0 "nonimmediate_operand" "=*d,a")
(sign_extend:SI (sign_extend:SI
(match_operand:HI 1 "nonimmediate_src_operand" "0,rmS")))] (match_operand:HI 1 "nonimmediate_src_operand" "0,rmS")))]
"" ""
...@@ -1795,13 +1795,13 @@ ...@@ -1795,13 +1795,13 @@
}") }")
(define_insn "extendqihi2" (define_insn "extendqihi2"
[(set (match_operand:HI 0 "general_operand" "=d") [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
(sign_extend:HI (match_operand:QI 1 "nonimmediate_operand" "0")))] (sign_extend:HI (match_operand:QI 1 "nonimmediate_operand" "0")))]
"" ""
"ext%.w %0") "ext%.w %0")
(define_insn "extendqisi2" (define_insn "extendqisi2"
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "0")))] (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "0")))]
"TARGET_68020 || TARGET_5200" "TARGET_68020 || TARGET_5200"
"extb%.l %0") "extb%.l %0")
...@@ -1809,21 +1809,21 @@ ...@@ -1809,21 +1809,21 @@
;; Conversions between float and double. ;; Conversions between float and double.
(define_expand "extendsfdf2" (define_expand "extendsfdf2"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(float_extend:DF (float_extend:DF
(match_operand:SF 1 "general_operand" "")))] (match_operand:SF 1 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=x,y") [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y")
(float_extend:DF (float_extend:DF
(match_operand:SF 1 "general_operand" "xH,rmF")))] (match_operand:SF 1 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
"fpstod %w1,%0") "fpstod %w1,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=*fdm,f") [(set (match_operand:DF 0 "nonimmediate_operand" "=*fdm,f")
(float_extend:DF (float_extend:DF
(match_operand:SF 1 "general_operand" "f,dmF")))] (match_operand:SF 1 "general_operand" "f,dmF")))]
"TARGET_68881" "TARGET_68881"
...@@ -1856,14 +1856,14 @@ ...@@ -1856,14 +1856,14 @@
;; sure of truncating in that case. ;; sure of truncating in that case.
;; But on the Sun FPA, we can be sure. ;; But on the Sun FPA, we can be sure.
(define_expand "truncdfsf2" (define_expand "truncdfsf2"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(float_truncate:SF (float_truncate:SF
(match_operand:DF 1 "general_operand" "")))] (match_operand:DF 1 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=x,y") [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y")
(float_truncate:SF (float_truncate:SF
(match_operand:DF 1 "general_operand" "xH,rmF")))] (match_operand:DF 1 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -1871,7 +1871,7 @@ ...@@ -1871,7 +1871,7 @@
;; On the '040 we can truncate in a register accurately and easily. ;; On the '040 we can truncate in a register accurately and easily.
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(float_truncate:SF (float_truncate:SF
(match_operand:DF 1 "general_operand" "fmG")))] (match_operand:DF 1 "general_operand" "fmG")))]
"TARGET_68040_ONLY" "TARGET_68040_ONLY"
...@@ -1883,7 +1883,7 @@ ...@@ -1883,7 +1883,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=dm") [(set (match_operand:SF 0 "nonimmediate_operand" "=dm")
(float_truncate:SF (float_truncate:SF
(match_operand:DF 1 "general_operand" "f")))] (match_operand:DF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
...@@ -1898,61 +1898,61 @@ ...@@ -1898,61 +1898,61 @@
;; rather than as QImode or HImode. ;; rather than as QImode or HImode.
(define_expand "floatsisf2" (define_expand "floatsisf2"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(float:SF (match_operand:SI 1 "general_operand" "")))] (float:SF (match_operand:SI 1 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=y,x") [(set (match_operand:SF 0 "nonimmediate_operand" "=y,x")
(float:SF (match_operand:SI 1 "general_operand" "rmi,x")))] (float:SF (match_operand:SI 1 "general_operand" "rmi,x")))]
"TARGET_FPA" "TARGET_FPA"
"fpltos %1,%0") "fpltos %1,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(float:SF (match_operand:SI 1 "general_operand" "dmi")))] (float:SF (match_operand:SI 1 "general_operand" "dmi")))]
"TARGET_68881" "TARGET_68881"
"f%$move%.l %1,%0") "f%$move%.l %1,%0")
(define_expand "floatsidf2" (define_expand "floatsidf2"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(float:DF (match_operand:SI 1 "general_operand" "")))] (float:DF (match_operand:SI 1 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=y,x") [(set (match_operand:DF 0 "nonimmediate_operand" "=y,x")
(float:DF (match_operand:SI 1 "general_operand" "rmi,x")))] (float:DF (match_operand:SI 1 "general_operand" "rmi,x")))]
"TARGET_FPA" "TARGET_FPA"
"fpltod %1,%0") "fpltod %1,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(float:DF (match_operand:SI 1 "general_operand" "dmi")))] (float:DF (match_operand:SI 1 "general_operand" "dmi")))]
"TARGET_68881" "TARGET_68881"
"f%&move%.l %1,%0") "f%&move%.l %1,%0")
(define_insn "floathisf2" (define_insn "floathisf2"
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(float:SF (match_operand:HI 1 "general_operand" "dmn")))] (float:SF (match_operand:HI 1 "general_operand" "dmn")))]
"TARGET_68881" "TARGET_68881"
"f%$move%.w %1,%0") "f%$move%.w %1,%0")
(define_insn "floathidf2" (define_insn "floathidf2"
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(float:DF (match_operand:HI 1 "general_operand" "dmn")))] (float:DF (match_operand:HI 1 "general_operand" "dmn")))]
"TARGET_68881" "TARGET_68881"
"fmove%.w %1,%0") "fmove%.w %1,%0")
(define_insn "floatqisf2" (define_insn "floatqisf2"
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(float:SF (match_operand:QI 1 "general_operand" "dmn")))] (float:SF (match_operand:QI 1 "general_operand" "dmn")))]
"TARGET_68881" "TARGET_68881"
"fmove%.b %1,%0") "fmove%.b %1,%0")
(define_insn "floatqidf2" (define_insn "floatqidf2"
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(float:DF (match_operand:QI 1 "general_operand" "dmn")))] (float:DF (match_operand:QI 1 "general_operand" "dmn")))]
"TARGET_68881" "TARGET_68881"
"f%&move%.b %1,%0") "f%&move%.b %1,%0")
...@@ -1963,7 +1963,7 @@ ...@@ -1963,7 +1963,7 @@
;; than calling the subroutines fixsfsi or fixdfsi. ;; than calling the subroutines fixsfsi or fixdfsi.
(define_insn "fix_truncdfsi2" (define_insn "fix_truncdfsi2"
[(set (match_operand:SI 0 "general_operand" "=dm") [(set (match_operand:SI 0 "nonimmediate_operand" "=dm")
(fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f")))) (fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f"))))
(clobber (match_scratch:SI 2 "=d")) (clobber (match_scratch:SI 2 "=d"))
(clobber (match_scratch:SI 3 "=d"))] (clobber (match_scratch:SI 3 "=d"))]
...@@ -1975,7 +1975,7 @@ ...@@ -1975,7 +1975,7 @@
}") }")
(define_insn "fix_truncdfhi2" (define_insn "fix_truncdfhi2"
[(set (match_operand:HI 0 "general_operand" "=dm") [(set (match_operand:HI 0 "nonimmediate_operand" "=dm")
(fix:HI (fix:DF (match_operand:DF 1 "register_operand" "f")))) (fix:HI (fix:DF (match_operand:DF 1 "register_operand" "f"))))
(clobber (match_scratch:SI 2 "=d")) (clobber (match_scratch:SI 2 "=d"))
(clobber (match_scratch:SI 3 "=d"))] (clobber (match_scratch:SI 3 "=d"))]
...@@ -1987,7 +1987,7 @@ ...@@ -1987,7 +1987,7 @@
}") }")
(define_insn "fix_truncdfqi2" (define_insn "fix_truncdfqi2"
[(set (match_operand:QI 0 "general_operand" "=dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
(fix:QI (fix:DF (match_operand:DF 1 "register_operand" "f")))) (fix:QI (fix:DF (match_operand:DF 1 "register_operand" "f"))))
(clobber (match_scratch:SI 2 "=d")) (clobber (match_scratch:SI 2 "=d"))
(clobber (match_scratch:SI 3 "=d"))] (clobber (match_scratch:SI 3 "=d"))]
...@@ -2002,7 +2002,7 @@ ...@@ -2002,7 +2002,7 @@
;; This is the first stage of converting it to an integer type. ;; This is the first stage of converting it to an integer type.
(define_insn "ftruncdf2" (define_insn "ftruncdf2"
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(fix:DF (match_operand:DF 1 "general_operand" "fFm")))] (fix:DF (match_operand:DF 1 "general_operand" "fFm")))]
"TARGET_68881 && !TARGET_68040" "TARGET_68881 && !TARGET_68040"
"* "*
...@@ -2013,7 +2013,7 @@ ...@@ -2013,7 +2013,7 @@
}") }")
(define_insn "ftruncsf2" (define_insn "ftruncsf2"
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(fix:SF (match_operand:SF 1 "general_operand" "dfFm")))] (fix:SF (match_operand:SF 1 "general_operand" "dfFm")))]
"TARGET_68881 && !TARGET_68040" "TARGET_68881 && !TARGET_68040"
"* "*
...@@ -2026,37 +2026,37 @@ ...@@ -2026,37 +2026,37 @@
;; Convert a float whose value is an integer ;; Convert a float whose value is an integer
;; to an actual integer. Second stage of converting float to integer type. ;; to an actual integer. Second stage of converting float to integer type.
(define_insn "fixsfqi2" (define_insn "fixsfqi2"
[(set (match_operand:QI 0 "general_operand" "=dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
(fix:QI (match_operand:SF 1 "general_operand" "f")))] (fix:QI (match_operand:SF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.b %1,%0") "fmove%.b %1,%0")
(define_insn "fixsfhi2" (define_insn "fixsfhi2"
[(set (match_operand:HI 0 "general_operand" "=dm") [(set (match_operand:HI 0 "nonimmediate_operand" "=dm")
(fix:HI (match_operand:SF 1 "general_operand" "f")))] (fix:HI (match_operand:SF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.w %1,%0") "fmove%.w %1,%0")
(define_insn "fixsfsi2" (define_insn "fixsfsi2"
[(set (match_operand:SI 0 "general_operand" "=dm") [(set (match_operand:SI 0 "nonimmediate_operand" "=dm")
(fix:SI (match_operand:SF 1 "general_operand" "f")))] (fix:SI (match_operand:SF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.l %1,%0") "fmove%.l %1,%0")
(define_insn "fixdfqi2" (define_insn "fixdfqi2"
[(set (match_operand:QI 0 "general_operand" "=dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
(fix:QI (match_operand:DF 1 "general_operand" "f")))] (fix:QI (match_operand:DF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.b %1,%0") "fmove%.b %1,%0")
(define_insn "fixdfhi2" (define_insn "fixdfhi2"
[(set (match_operand:HI 0 "general_operand" "=dm") [(set (match_operand:HI 0 "nonimmediate_operand" "=dm")
(fix:HI (match_operand:DF 1 "general_operand" "f")))] (fix:HI (match_operand:DF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.w %1,%0") "fmove%.w %1,%0")
(define_insn "fixdfsi2" (define_insn "fixdfsi2"
[(set (match_operand:SI 0 "general_operand" "=dm") [(set (match_operand:SI 0 "nonimmediate_operand" "=dm")
(fix:SI (match_operand:DF 1 "general_operand" "f")))] (fix:SI (match_operand:DF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.l %1,%0") "fmove%.l %1,%0")
...@@ -2065,13 +2065,13 @@ ...@@ -2065,13 +2065,13 @@
;; On the Sun FPA, this is done in one step. ;; On the Sun FPA, this is done in one step.
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=x,y") [(set (match_operand:SI 0 "nonimmediate_operand" "=x,y")
(fix:SI (fix:SF (match_operand:SF 1 "general_operand" "xH,rmF"))))] (fix:SI (fix:SF (match_operand:SF 1 "general_operand" "xH,rmF"))))]
"TARGET_FPA" "TARGET_FPA"
"fpstol %w1,%0") "fpstol %w1,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=x,y") [(set (match_operand:SI 0 "nonimmediate_operand" "=x,y")
(fix:SI (fix:DF (match_operand:DF 1 "general_operand" "xH,rmF"))))] (fix:SI (fix:DF (match_operand:DF 1 "general_operand" "xH,rmF"))))]
"TARGET_FPA" "TARGET_FPA"
"fpdtol %y1,%0") "fpdtol %y1,%0")
...@@ -2079,7 +2079,7 @@ ...@@ -2079,7 +2079,7 @@
;; add instructions ;; add instructions
(define_insn "adddi_lshrdi_63" (define_insn "adddi_lshrdi_63"
[(set (match_operand:DI 0 "general_operand" "=d") [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
(plus:DI (lshiftrt:DI (match_operand:DI 1 "general_operand" "rm") (plus:DI (lshiftrt:DI (match_operand:DI 1 "general_operand" "rm")
(const_int 63)) (const_int 63))
(match_dup 1))) (match_dup 1)))
...@@ -2113,7 +2113,7 @@ ...@@ -2113,7 +2113,7 @@
}") }")
(define_insn "adddi_sexthishl32" (define_insn "adddi_sexthishl32"
[(set (match_operand:DI 0 "general_operand" "=o,a,*d,*d") [(set (match_operand:DI 0 "nonimmediate_operand" "=o,a,*d,*d")
(plus:DI (ashift:DI (sign_extend:DI (plus:DI (ashift:DI (sign_extend:DI
(match_operand:HI 1 "general_operand" "rm,rm,rm,rm")) (match_operand:HI 1 "general_operand" "rm,rm,rm,rm"))
(const_int 32)) (const_int 32))
...@@ -2132,7 +2132,7 @@ ...@@ -2132,7 +2132,7 @@
} ") } ")
(define_insn "adddi_dilshr32" (define_insn "adddi_dilshr32"
[(set (match_operand:DI 0 "general_operand" "=d,o") [(set (match_operand:DI 0 "nonimmediate_operand" "=d,o")
;; (plus:DI (match_operand:DI 2 "general_operand" "%0") ;; (plus:DI (match_operand:DI 2 "general_operand" "%0")
;; (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro") ;; (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro")
;; (const_int 32))))] ;; (const_int 32))))]
...@@ -2151,7 +2151,7 @@ ...@@ -2151,7 +2151,7 @@
} ") } ")
(define_insn "adddi_dishl32" (define_insn "adddi_dishl32"
[(set (match_operand:DI 0 "general_operand" "=r,o") [(set (match_operand:DI 0 "nonimmediate_operand" "=r,o")
;; (plus:DI (match_operand:DI 2 "general_operand" "%0") ;; (plus:DI (match_operand:DI 2 "general_operand" "%0")
;; (ashift:DI (match_operand:DI 1 "general_operand" "ro") ;; (ashift:DI (match_operand:DI 1 "general_operand" "ro")
;; (const_int 32))))] ;; (const_int 32))))]
...@@ -2170,7 +2170,7 @@ ...@@ -2170,7 +2170,7 @@
} ") } ")
(define_insn "adddi3" (define_insn "adddi3"
[(set (match_operand:DI 0 "general_operand" "=<,o<>,d,d,d") [(set (match_operand:DI 0 "nonimmediate_operand" "=<,o<>,d,d,d")
(plus:DI (match_operand:DI 1 "general_operand" "%0,0,0,0,0") (plus:DI (match_operand:DI 1 "general_operand" "%0,0,0,0,0")
(match_operand:DI 2 "general_operand" "<,d,no>,d,a"))) (match_operand:DI 2 "general_operand" "<,d,no>,d,a")))
(clobber (match_scratch:SI 3 "=X,&d,&d,X,&d"))] (clobber (match_scratch:SI 3 "=X,&d,&d,X,&d"))]
...@@ -2262,7 +2262,7 @@ ...@@ -2262,7 +2262,7 @@
} ") } ")
(define_insn "addsi_lshrsi_31" (define_insn "addsi_lshrsi_31"
[(set (match_operand:SI 0 "general_operand" "=dm") [(set (match_operand:SI 0 "nonimmediate_operand" "=dm")
(plus:SI (lshiftrt:SI (match_operand:SI 1 "general_operand" "rm") (plus:SI (lshiftrt:SI (match_operand:SI 1 "general_operand" "rm")
(const_int 31)) (const_int 31))
(match_dup 1)))] (match_dup 1)))]
...@@ -2295,7 +2295,7 @@ ...@@ -2295,7 +2295,7 @@
}") }")
(define_expand "addsi3" (define_expand "addsi3"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(plus:SI (match_operand:SI 1 "general_operand" "") (plus:SI (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_src_operand" "")))] (match_operand:SI 2 "general_src_operand" "")))]
"" ""
...@@ -2306,7 +2306,7 @@ ...@@ -2306,7 +2306,7 @@
;; This is needed since they are not themselves reloaded, ;; This is needed since they are not themselves reloaded,
;; so commutativity won't apply to them. ;; so commutativity won't apply to them.
(define_insn "*addsi3_internal" (define_insn "*addsi3_internal"
[(set (match_operand:SI 0 "general_operand" "=m,?a,?a,d,a") [(set (match_operand:SI 0 "nonimmediate_operand" "=m,?a,?a,d,a")
(plus:SI (match_operand:SI 1 "general_operand" "%0,a,rJK,0,0") (plus:SI (match_operand:SI 1 "general_operand" "%0,a,rJK,0,0")
(match_operand:SI 2 "general_src_operand" "dIKLT,rJK,a,mSrIKLT,mSrIKLs")))] (match_operand:SI 2 "general_src_operand" "dIKLT,rJK,a,mSrIKLT,mSrIKLs")))]
...@@ -2315,14 +2315,14 @@ ...@@ -2315,14 +2315,14 @@
"* return output_addsi3 (operands);") "* return output_addsi3 (operands);")
(define_insn "*addsi3_5200" (define_insn "*addsi3_5200"
[(set (match_operand:SI 0 "general_operand" "=m,?a,?a,r") [(set (match_operand:SI 0 "nonimmediate_operand" "=m,?a,?a,r")
(plus:SI (match_operand:SI 1 "general_operand" "%0,a,rJK,0") (plus:SI (match_operand:SI 1 "general_operand" "%0,a,rJK,0")
(match_operand:SI 2 "general_src_operand" "d,rJK,a,mrIKLs")))] (match_operand:SI 2 "general_src_operand" "d,rJK,a,mrIKLs")))]
"TARGET_5200" "TARGET_5200"
"* return output_addsi3 (operands);") "* return output_addsi3 (operands);")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=a") [(set (match_operand:SI 0 "nonimmediate_operand" "=a")
(plus:SI (match_operand:SI 1 "general_operand" "0") (plus:SI (match_operand:SI 1 "general_operand" "0")
(sign_extend:SI (sign_extend:SI
(match_operand:HI 2 "nonimmediate_src_operand" "rmS"))))] (match_operand:HI 2 "nonimmediate_src_operand" "rmS"))))]
...@@ -2330,7 +2330,7 @@ ...@@ -2330,7 +2330,7 @@
"add%.w %2,%0") "add%.w %2,%0")
(define_insn "addhi3" (define_insn "addhi3"
[(set (match_operand:HI 0 "general_operand" "=m,r") [(set (match_operand:HI 0 "nonimmediate_operand" "=m,r")
(plus:HI (match_operand:HI 1 "general_operand" "%0,0") (plus:HI (match_operand:HI 1 "general_operand" "%0,0")
(match_operand:HI 2 "general_src_operand" "dn,rmSn")))] (match_operand:HI 2 "general_src_operand" "dn,rmSn")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -2392,7 +2392,7 @@ ...@@ -2392,7 +2392,7 @@
;; operand in both positions. ;; operand in both positions.
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d"))
(plus:HI (match_dup 0) (plus:HI (match_dup 0)
(match_operand:HI 1 "general_src_operand" "dn,rmSn")))] (match_operand:HI 1 "general_src_operand" "dn,rmSn")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -2448,7 +2448,7 @@ ...@@ -2448,7 +2448,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d"))
(plus:HI (match_operand:HI 1 "general_src_operand" "dn,rmSn") (plus:HI (match_operand:HI 1 "general_src_operand" "dn,rmSn")
(match_dup 0)))] (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
...@@ -2504,7 +2504,7 @@ ...@@ -2504,7 +2504,7 @@
}") }")
(define_insn "addqi3" (define_insn "addqi3"
[(set (match_operand:QI 0 "general_operand" "=m,d") [(set (match_operand:QI 0 "nonimmediate_operand" "=m,d")
(plus:QI (match_operand:QI 1 "general_operand" "%0,0") (plus:QI (match_operand:QI 1 "general_operand" "%0,0")
(match_operand:QI 2 "general_src_operand" "dn,dmSn")))] (match_operand:QI 2 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -2530,7 +2530,7 @@ ...@@ -2530,7 +2530,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d"))
(plus:QI (match_dup 0) (plus:QI (match_dup 0)
(match_operand:QI 1 "general_src_operand" "dn,dmSn")))] (match_operand:QI 1 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -2556,7 +2556,7 @@ ...@@ -2556,7 +2556,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d"))
(plus:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn") (plus:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn")
(match_dup 0)))] (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
...@@ -2582,14 +2582,14 @@ ...@@ -2582,14 +2582,14 @@
}") }")
(define_expand "adddf3" (define_expand "adddf3"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(plus:DF (match_operand:DF 1 "general_operand" "") (plus:DF (match_operand:DF 1 "general_operand" "")
(match_operand:DF 2 "general_operand" "")))] (match_operand:DF 2 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=x,y") [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y")
(plus:DF (match_operand:DF 1 "general_operand" "%xH,y") (plus:DF (match_operand:DF 1 "general_operand" "%xH,y")
(match_operand:DF 2 "general_operand" "xH,dmF")))] (match_operand:DF 2 "general_operand" "xH,dmF")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -2605,28 +2605,28 @@ ...@@ -2605,28 +2605,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(plus:DF (float:DF (match_operand:SI 2 "general_operand" "dmi")) (plus:DF (float:DF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:DF 1 "general_operand" "0")))] (match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%&add%.l %2,%0") "f%&add%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(plus:DF (float:DF (match_operand:HI 2 "general_operand" "dmn")) (plus:DF (float:DF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:DF 1 "general_operand" "0")))] (match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%&add%.w %2,%0") "f%&add%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(plus:DF (float:DF (match_operand:QI 2 "general_operand" "dmn")) (plus:DF (float:DF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:DF 1 "general_operand" "0")))] (match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%&add%.b %2,%0") "f%&add%.b %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(plus:DF (match_operand:DF 1 "general_operand" "%0") (plus:DF (match_operand:DF 1 "general_operand" "%0")
(match_operand:DF 2 "general_operand" "fmG")))] (match_operand:DF 2 "general_operand" "fmG")))]
"TARGET_68881" "TARGET_68881"
...@@ -2638,14 +2638,14 @@ ...@@ -2638,14 +2638,14 @@
}") }")
(define_expand "addsf3" (define_expand "addsf3"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(plus:SF (match_operand:SF 1 "general_operand" "") (plus:SF (match_operand:SF 1 "general_operand" "")
(match_operand:SF 2 "general_operand" "")))] (match_operand:SF 2 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=x,y") [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y")
(plus:SF (match_operand:SF 1 "general_operand" "%xH,y") (plus:SF (match_operand:SF 1 "general_operand" "%xH,y")
(match_operand:SF 2 "general_operand" "xH,rmF")))] (match_operand:SF 2 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -2661,28 +2661,28 @@ ...@@ -2661,28 +2661,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(plus:SF (float:SF (match_operand:SI 2 "general_operand" "dmi")) (plus:SF (float:SF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:SF 1 "general_operand" "0")))] (match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%$add%.l %2,%0") "f%$add%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(plus:SF (float:SF (match_operand:HI 2 "general_operand" "dmn")) (plus:SF (float:SF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:SF 1 "general_operand" "0")))] (match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%$add%.w %2,%0") "f%$add%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(plus:SF (float:SF (match_operand:QI 2 "general_operand" "dmn")) (plus:SF (float:SF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:SF 1 "general_operand" "0")))] (match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%$add%.b %2,%0") "f%$add%.b %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(plus:SF (match_operand:SF 1 "general_operand" "%0") (plus:SF (match_operand:SF 1 "general_operand" "%0")
(match_operand:SF 2 "general_operand" "fdmF")))] (match_operand:SF 2 "general_operand" "fdmF")))]
"TARGET_68881" "TARGET_68881"
...@@ -2696,7 +2696,7 @@ ...@@ -2696,7 +2696,7 @@
;; subtract instructions ;; subtract instructions
(define_insn "subdi_sexthishl32" (define_insn "subdi_sexthishl32"
[(set (match_operand:DI 0 "general_operand" "=o,a,*d,*d") [(set (match_operand:DI 0 "nonimmediate_operand" "=o,a,*d,*d")
(minus:DI (match_operand:DI 1 "general_operand" "0,0,0,0") (minus:DI (match_operand:DI 1 "general_operand" "0,0,0,0")
(ashift:DI (sign_extend:DI (match_operand:HI 2 "general_operand" "rm,rm,rm,rm")) (ashift:DI (sign_extend:DI (match_operand:HI 2 "general_operand" "rm,rm,rm,rm"))
(const_int 32)))) (const_int 32))))
...@@ -2714,7 +2714,7 @@ ...@@ -2714,7 +2714,7 @@
} ") } ")
(define_insn "subdi_dishl32" (define_insn "subdi_dishl32"
[(set (match_operand:DI 0 "general_operand" "+ro") [(set (match_operand:DI 0 "nonimmediate_operand" "+ro")
(minus:DI (match_dup 0) (minus:DI (match_dup 0)
(ashift:DI (match_operand:DI 1 "general_operand" "ro") (ashift:DI (match_operand:DI 1 "general_operand" "ro")
(const_int 32))))] (const_int 32))))]
...@@ -2730,7 +2730,7 @@ ...@@ -2730,7 +2730,7 @@
} ") } ")
(define_insn "subdi3" (define_insn "subdi3"
[(set (match_operand:DI 0 "general_operand" "=<,o<>,d,d,d") [(set (match_operand:DI 0 "nonimmediate_operand" "=<,o<>,d,d,d")
(minus:DI (match_operand:DI 1 "general_operand" "0,0,0,0,0") (minus:DI (match_operand:DI 1 "general_operand" "0,0,0,0,0")
(match_operand:DI 2 "general_operand" "<,d,no>,d,a"))) (match_operand:DI 2 "general_operand" "<,d,no>,d,a")))
(clobber (match_scratch:SI 3 "=X,&d,&d,X,&d"))] (clobber (match_scratch:SI 3 "=X,&d,&d,X,&d"))]
...@@ -2824,14 +2824,14 @@ ...@@ -2824,14 +2824,14 @@
} ") } ")
(define_insn "subsi3" (define_insn "subsi3"
[(set (match_operand:SI 0 "general_operand" "=m,d,a") [(set (match_operand:SI 0 "nonimmediate_operand" "=m,d,a")
(minus:SI (match_operand:SI 1 "general_operand" "0,0,0") (minus:SI (match_operand:SI 1 "general_operand" "0,0,0")
(match_operand:SI 2 "general_src_operand" "dT,mSrT,mSrs")))] (match_operand:SI 2 "general_src_operand" "dT,mSrT,mSrs")))]
"" ""
"sub%.l %2,%0") "sub%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=a") [(set (match_operand:SI 0 "nonimmediate_operand" "=a")
(minus:SI (match_operand:SI 1 "general_operand" "0") (minus:SI (match_operand:SI 1 "general_operand" "0")
(sign_extend:SI (sign_extend:SI
(match_operand:HI 2 "nonimmediate_src_operand" "rmS"))))] (match_operand:HI 2 "nonimmediate_src_operand" "rmS"))))]
...@@ -2839,42 +2839,42 @@ ...@@ -2839,42 +2839,42 @@
"sub%.w %2,%0") "sub%.w %2,%0")
(define_insn "subhi3" (define_insn "subhi3"
[(set (match_operand:HI 0 "general_operand" "=m,r") [(set (match_operand:HI 0 "nonimmediate_operand" "=m,r")
(minus:HI (match_operand:HI 1 "general_operand" "0,0") (minus:HI (match_operand:HI 1 "general_operand" "0,0")
(match_operand:HI 2 "general_src_operand" "dn,rmSn")))] (match_operand:HI 2 "general_src_operand" "dn,rmSn")))]
"!TARGET_5200" "!TARGET_5200"
"sub%.w %2,%0") "sub%.w %2,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d"))
(minus:HI (match_dup 0) (minus:HI (match_dup 0)
(match_operand:HI 1 "general_src_operand" "dn,rmSn")))] (match_operand:HI 1 "general_src_operand" "dn,rmSn")))]
"!TARGET_5200" "!TARGET_5200"
"sub%.w %1,%0") "sub%.w %1,%0")
(define_insn "subqi3" (define_insn "subqi3"
[(set (match_operand:QI 0 "general_operand" "=m,d") [(set (match_operand:QI 0 "nonimmediate_operand" "=m,d")
(minus:QI (match_operand:QI 1 "general_operand" "0,0") (minus:QI (match_operand:QI 1 "general_operand" "0,0")
(match_operand:QI 2 "general_src_operand" "dn,dmSn")))] (match_operand:QI 2 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"sub%.b %2,%0") "sub%.b %2,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d"))
(minus:QI (match_dup 0) (minus:QI (match_dup 0)
(match_operand:QI 1 "general_src_operand" "dn,dmSn")))] (match_operand:QI 1 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"sub%.b %1,%0") "sub%.b %1,%0")
(define_expand "subdf3" (define_expand "subdf3"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(minus:DF (match_operand:DF 1 "general_operand" "") (minus:DF (match_operand:DF 1 "general_operand" "")
(match_operand:DF 2 "general_operand" "")))] (match_operand:DF 2 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=x,y,y") [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y,y")
(minus:DF (match_operand:DF 1 "general_operand" "xH,y,dmF") (minus:DF (match_operand:DF 1 "general_operand" "xH,y,dmF")
(match_operand:DF 2 "general_operand" "xH,dmF,0")))] (match_operand:DF 2 "general_operand" "xH,dmF,0")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -2890,28 +2890,28 @@ ...@@ -2890,28 +2890,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(minus:DF (match_operand:DF 1 "general_operand" "0") (minus:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:SI 2 "general_operand" "dmi"))))] (float:DF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881" "TARGET_68881"
"f%&sub%.l %2,%0") "f%&sub%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(minus:DF (match_operand:DF 1 "general_operand" "0") (minus:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:HI 2 "general_operand" "dmn"))))] (float:DF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"f%&sub%.w %2,%0") "f%&sub%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(minus:DF (match_operand:DF 1 "general_operand" "0") (minus:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:QI 2 "general_operand" "dmn"))))] (float:DF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"f%&sub%.b %2,%0") "f%&sub%.b %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(minus:DF (match_operand:DF 1 "general_operand" "0") (minus:DF (match_operand:DF 1 "general_operand" "0")
(match_operand:DF 2 "general_operand" "fmG")))] (match_operand:DF 2 "general_operand" "fmG")))]
"TARGET_68881" "TARGET_68881"
...@@ -2923,14 +2923,14 @@ ...@@ -2923,14 +2923,14 @@
}") }")
(define_expand "subsf3" (define_expand "subsf3"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(minus:SF (match_operand:SF 1 "general_operand" "") (minus:SF (match_operand:SF 1 "general_operand" "")
(match_operand:SF 2 "general_operand" "")))] (match_operand:SF 2 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=x,y,y") [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y,y")
(minus:SF (match_operand:SF 1 "general_operand" "xH,y,rmF") (minus:SF (match_operand:SF 1 "general_operand" "xH,y,rmF")
(match_operand:SF 2 "general_operand" "xH,rmF,0")))] (match_operand:SF 2 "general_operand" "xH,rmF,0")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -2946,28 +2946,28 @@ ...@@ -2946,28 +2946,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(minus:SF (match_operand:SF 1 "general_operand" "0") (minus:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:SI 2 "general_operand" "dmi"))))] (float:SF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881" "TARGET_68881"
"f%$sub%.l %2,%0") "f%$sub%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(minus:SF (match_operand:SF 1 "general_operand" "0") (minus:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:HI 2 "general_operand" "dmn"))))] (float:SF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"f%$sub%.w %2,%0") "f%$sub%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(minus:SF (match_operand:SF 1 "general_operand" "0") (minus:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:QI 2 "general_operand" "dmn"))))] (float:SF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"f%$sub%.b %2,%0") "f%$sub%.b %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(minus:SF (match_operand:SF 1 "general_operand" "0") (minus:SF (match_operand:SF 1 "general_operand" "0")
(match_operand:SF 2 "general_operand" "fdmF")))] (match_operand:SF 2 "general_operand" "fdmF")))]
"TARGET_68881" "TARGET_68881"
...@@ -2981,7 +2981,7 @@ ...@@ -2981,7 +2981,7 @@
;; multiply instructions ;; multiply instructions
(define_insn "mulhi3" (define_insn "mulhi3"
[(set (match_operand:HI 0 "general_operand" "=d") [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
(mult:HI (match_operand:HI 1 "general_operand" "%0") (mult:HI (match_operand:HI 1 "general_operand" "%0")
(match_operand:HI 2 "general_src_operand" "dmSn")))] (match_operand:HI 2 "general_src_operand" "dmSn")))]
"" ""
...@@ -2995,7 +2995,7 @@ ...@@ -2995,7 +2995,7 @@
}") }")
(define_insn "mulhisi3" (define_insn "mulhisi3"
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(mult:SI (sign_extend:SI (mult:SI (sign_extend:SI
(match_operand:HI 1 "nonimmediate_operand" "%0")) (match_operand:HI 1 "nonimmediate_operand" "%0"))
(sign_extend:SI (sign_extend:SI
...@@ -3011,7 +3011,7 @@ ...@@ -3011,7 +3011,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(mult:SI (sign_extend:SI (mult:SI (sign_extend:SI
(match_operand:HI 1 "nonimmediate_operand" "%0")) (match_operand:HI 1 "nonimmediate_operand" "%0"))
(match_operand:SI 2 "const_int_operand" "n")))] (match_operand:SI 2 "const_int_operand" "n")))]
...@@ -3026,14 +3026,14 @@ ...@@ -3026,14 +3026,14 @@
}") }")
(define_expand "mulsi3" (define_expand "mulsi3"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(mult:SI (match_operand:SI 1 "general_operand" "") (mult:SI (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_operand" "")))] (match_operand:SI 2 "general_operand" "")))]
"TARGET_68020 || TARGET_5200" "TARGET_68020 || TARGET_5200"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(mult:SI (match_operand:SI 1 "general_operand" "%0") (mult:SI (match_operand:SI 1 "general_operand" "%0")
(match_operand:SI 2 "general_src_operand" "dmSTK")))] (match_operand:SI 2 "general_src_operand" "dmSTK")))]
...@@ -3041,14 +3041,14 @@ ...@@ -3041,14 +3041,14 @@
"muls%.l %2,%0") "muls%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(mult:SI (match_operand:SI 1 "general_operand" "%0") (mult:SI (match_operand:SI 1 "general_operand" "%0")
(match_operand:SI 2 "general_operand" "d<Q>")))] (match_operand:SI 2 "general_operand" "d<Q>")))]
"TARGET_5200" "TARGET_5200"
"muls%.l %2,%0") "muls%.l %2,%0")
(define_insn "umulhisi3" (define_insn "umulhisi3"
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(mult:SI (zero_extend:SI (mult:SI (zero_extend:SI
(match_operand:HI 1 "nonimmediate_operand" "%0")) (match_operand:HI 1 "nonimmediate_operand" "%0"))
(zero_extend:SI (zero_extend:SI
...@@ -3064,7 +3064,7 @@ ...@@ -3064,7 +3064,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(mult:SI (zero_extend:SI (mult:SI (zero_extend:SI
(match_operand:HI 1 "nonimmediate_operand" "%0")) (match_operand:HI 1 "nonimmediate_operand" "%0"))
(match_operand:SI 2 "const_int_operand" "n")))] (match_operand:SI 2 "const_int_operand" "n")))]
...@@ -3247,14 +3247,14 @@ ...@@ -3247,14 +3247,14 @@
"muls%.l %3,%0:%1") "muls%.l %3,%0:%1")
(define_expand "muldf3" (define_expand "muldf3"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(mult:DF (match_operand:DF 1 "general_operand" "") (mult:DF (match_operand:DF 1 "general_operand" "")
(match_operand:DF 2 "general_operand" "")))] (match_operand:DF 2 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=x,y") [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y")
(mult:DF (match_operand:DF 1 "general_operand" "%xH,y") (mult:DF (match_operand:DF 1 "general_operand" "%xH,y")
(match_operand:DF 2 "general_operand" "xH,rmF")))] (match_operand:DF 2 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -3272,28 +3272,28 @@ ...@@ -3272,28 +3272,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(mult:DF (float:DF (match_operand:SI 2 "general_operand" "dmi")) (mult:DF (float:DF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:DF 1 "general_operand" "0")))] (match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%&mul%.l %2,%0") "f%&mul%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(mult:DF (float:DF (match_operand:HI 2 "general_operand" "dmn")) (mult:DF (float:DF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:DF 1 "general_operand" "0")))] (match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%&mul%.w %2,%0") "f%&mul%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(mult:DF (float:DF (match_operand:QI 2 "general_operand" "dmn")) (mult:DF (float:DF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:DF 1 "general_operand" "0")))] (match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"f%&mul%.b %2,%0") "f%&mul%.b %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(mult:DF (match_operand:DF 1 "general_operand" "%0") (mult:DF (match_operand:DF 1 "general_operand" "%0")
(match_operand:DF 2 "general_operand" "fmG")))] (match_operand:DF 2 "general_operand" "fmG")))]
"TARGET_68881" "TARGET_68881"
...@@ -3312,14 +3312,14 @@ ...@@ -3312,14 +3312,14 @@
}") }")
(define_expand "mulsf3" (define_expand "mulsf3"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(mult:SF (match_operand:SF 1 "general_operand" "") (mult:SF (match_operand:SF 1 "general_operand" "")
(match_operand:SF 2 "general_operand" "")))] (match_operand:SF 2 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=x,y") [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y")
(mult:SF (match_operand:SF 1 "general_operand" "%xH,y") (mult:SF (match_operand:SF 1 "general_operand" "%xH,y")
(match_operand:SF 2 "general_operand" "xH,rmF")))] (match_operand:SF 2 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -3337,7 +3337,7 @@ ...@@ -3337,7 +3337,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(mult:SF (float:SF (match_operand:SI 2 "general_operand" "dmi")) (mult:SF (float:SF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:SF 1 "general_operand" "0")))] (match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
...@@ -3349,7 +3349,7 @@ ...@@ -3349,7 +3349,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(mult:SF (float:SF (match_operand:HI 2 "general_operand" "dmn")) (mult:SF (float:SF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:SF 1 "general_operand" "0")))] (match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
...@@ -3361,7 +3361,7 @@ ...@@ -3361,7 +3361,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(mult:SF (float:SF (match_operand:QI 2 "general_operand" "dmn")) (mult:SF (float:SF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:SF 1 "general_operand" "0")))] (match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
...@@ -3373,7 +3373,7 @@ ...@@ -3373,7 +3373,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(mult:SF (match_operand:SF 1 "general_operand" "%0") (mult:SF (match_operand:SF 1 "general_operand" "%0")
(match_operand:SF 2 "general_operand" "fdmF")))] (match_operand:SF 2 "general_operand" "fdmF")))]
"TARGET_68881" "TARGET_68881"
...@@ -3398,14 +3398,14 @@ ...@@ -3398,14 +3398,14 @@
;; divide instructions ;; divide instructions
(define_expand "divdf3" (define_expand "divdf3"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(div:DF (match_operand:DF 1 "general_operand" "") (div:DF (match_operand:DF 1 "general_operand" "")
(match_operand:DF 2 "general_operand" "")))] (match_operand:DF 2 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=x,y,y") [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y,y")
(div:DF (match_operand:DF 1 "general_operand" "xH,y,rmF") (div:DF (match_operand:DF 1 "general_operand" "xH,y,rmF")
(match_operand:DF 2 "general_operand" "xH,rmF,0")))] (match_operand:DF 2 "general_operand" "xH,rmF,0")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -3421,28 +3421,28 @@ ...@@ -3421,28 +3421,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(div:DF (match_operand:DF 1 "general_operand" "0") (div:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:SI 2 "general_operand" "dmi"))))] (float:DF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881" "TARGET_68881"
"f%&div%.l %2,%0") "f%&div%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(div:DF (match_operand:DF 1 "general_operand" "0") (div:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:HI 2 "general_operand" "dmn"))))] (float:DF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"f%&div%.w %2,%0") "f%&div%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(div:DF (match_operand:DF 1 "general_operand" "0") (div:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:QI 2 "general_operand" "dmn"))))] (float:DF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"f%&div%.b %2,%0") "f%&div%.b %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(div:DF (match_operand:DF 1 "general_operand" "0") (div:DF (match_operand:DF 1 "general_operand" "0")
(match_operand:DF 2 "general_operand" "fmG")))] (match_operand:DF 2 "general_operand" "fmG")))]
"TARGET_68881" "TARGET_68881"
...@@ -3454,14 +3454,14 @@ ...@@ -3454,14 +3454,14 @@
}") }")
(define_expand "divsf3" (define_expand "divsf3"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(div:SF (match_operand:SF 1 "general_operand" "") (div:SF (match_operand:SF 1 "general_operand" "")
(match_operand:SF 2 "general_operand" "")))] (match_operand:SF 2 "general_operand" "")))]
"TARGET_68881 || TARGET_FPA" "TARGET_68881 || TARGET_FPA"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=x,y,y") [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y,y")
(div:SF (match_operand:SF 1 "general_operand" "xH,y,rmF") (div:SF (match_operand:SF 1 "general_operand" "xH,y,rmF")
(match_operand:SF 2 "general_operand" "xH,rmF,0")))] (match_operand:SF 2 "general_operand" "xH,rmF,0")))]
"TARGET_FPA" "TARGET_FPA"
...@@ -3477,7 +3477,7 @@ ...@@ -3477,7 +3477,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(div:SF (match_operand:SF 1 "general_operand" "0") (div:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:SI 2 "general_operand" "dmi"))))] (float:SF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881" "TARGET_68881"
...@@ -3489,7 +3489,7 @@ ...@@ -3489,7 +3489,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(div:SF (match_operand:SF 1 "general_operand" "0") (div:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:HI 2 "general_operand" "dmn"))))] (float:SF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
...@@ -3501,7 +3501,7 @@ ...@@ -3501,7 +3501,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(div:SF (match_operand:SF 1 "general_operand" "0") (div:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:QI 2 "general_operand" "dmn"))))] (float:SF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
...@@ -3513,7 +3513,7 @@ ...@@ -3513,7 +3513,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(div:SF (match_operand:SF 1 "general_operand" "0") (div:SF (match_operand:SF 1 "general_operand" "0")
(match_operand:SF 2 "general_operand" "fdmF")))] (match_operand:SF 2 "general_operand" "fdmF")))]
"TARGET_68881" "TARGET_68881"
...@@ -3538,10 +3538,10 @@ ...@@ -3538,10 +3538,10 @@
;; Remainder instructions. ;; Remainder instructions.
(define_insn "divmodsi4" (define_insn "divmodsi4"
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(div:SI (match_operand:SI 1 "general_operand" "0") (div:SI (match_operand:SI 1 "general_operand" "0")
(match_operand:SI 2 "general_src_operand" "dmSTK"))) (match_operand:SI 2 "general_src_operand" "dmSTK")))
(set (match_operand:SI 3 "general_operand" "=d") (set (match_operand:SI 3 "nonimmediate_operand" "=d")
(mod:SI (match_dup 1) (match_dup 2)))] (mod:SI (match_dup 1) (match_dup 2)))]
"TARGET_68020 && !TARGET_5200" "TARGET_68020 && !TARGET_5200"
"* "*
...@@ -3553,10 +3553,10 @@ ...@@ -3553,10 +3553,10 @@
}") }")
(define_insn "udivmodsi4" (define_insn "udivmodsi4"
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(udiv:SI (match_operand:SI 1 "general_operand" "0") (udiv:SI (match_operand:SI 1 "general_operand" "0")
(match_operand:SI 2 "general_src_operand" "dmSTK"))) (match_operand:SI 2 "general_src_operand" "dmSTK")))
(set (match_operand:SI 3 "general_operand" "=d") (set (match_operand:SI 3 "nonimmediate_operand" "=d")
(umod:SI (match_dup 1) (match_dup 2)))] (umod:SI (match_dup 1) (match_dup 2)))]
"TARGET_68020 && !TARGET_5200" "TARGET_68020 && !TARGET_5200"
"* "*
...@@ -3568,10 +3568,10 @@ ...@@ -3568,10 +3568,10 @@
}") }")
(define_insn "divmodhi4" (define_insn "divmodhi4"
[(set (match_operand:HI 0 "general_operand" "=d") [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
(div:HI (match_operand:HI 1 "general_operand" "0") (div:HI (match_operand:HI 1 "general_operand" "0")
(match_operand:HI 2 "general_src_operand" "dmSKT"))) (match_operand:HI 2 "general_src_operand" "dmSKT")))
(set (match_operand:HI 3 "general_operand" "=d") (set (match_operand:HI 3 "nonimmediate_operand" "=d")
(mod:HI (match_dup 1) (match_dup 2)))] (mod:HI (match_dup 1) (match_dup 2)))]
"!TARGET_5200" "!TARGET_5200"
"* "*
...@@ -3591,10 +3591,10 @@ ...@@ -3591,10 +3591,10 @@
}") }")
(define_insn "udivmodhi4" (define_insn "udivmodhi4"
[(set (match_operand:HI 0 "general_operand" "=d") [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
(udiv:HI (match_operand:HI 1 "general_operand" "0") (udiv:HI (match_operand:HI 1 "general_operand" "0")
(match_operand:HI 2 "general_src_operand" "dmSKT"))) (match_operand:HI 2 "general_src_operand" "dmSKT")))
(set (match_operand:HI 3 "general_operand" "=d") (set (match_operand:HI 3 "nonimmediate_operand" "=d")
(umod:HI (match_dup 1) (match_dup 2)))] (umod:HI (match_dup 1) (match_dup 2)))]
"!TARGET_5200" "!TARGET_5200"
"* "*
...@@ -3617,7 +3617,7 @@ ...@@ -3617,7 +3617,7 @@
;; "anddi3" is mainly here to help combine(). ;; "anddi3" is mainly here to help combine().
(define_insn "anddi3" (define_insn "anddi3"
[(set (match_operand:DI 0 "general_operand" "=o,d") [(set (match_operand:DI 0 "nonimmediate_operand" "=o,d")
(and:DI (match_operand:DI 1 "general_operand" "%0,0") (and:DI (match_operand:DI 1 "general_operand" "%0,0")
(match_operand:DI 2 "general_operand" "dn,don")))] (match_operand:DI 2 "general_operand" "dn,don")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -3711,42 +3711,42 @@ ...@@ -3711,42 +3711,42 @@
"and%.l %2,%0") "and%.l %2,%0")
(define_insn "andhi3" (define_insn "andhi3"
[(set (match_operand:HI 0 "general_operand" "=m,d") [(set (match_operand:HI 0 "nonimmediate_operand" "=m,d")
(and:HI (match_operand:HI 1 "general_operand" "%0,0") (and:HI (match_operand:HI 1 "general_operand" "%0,0")
(match_operand:HI 2 "general_src_operand" "dn,dmSn")))] (match_operand:HI 2 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"and%.w %2,%0") "and%.w %2,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d"))
(and:HI (match_dup 0) (and:HI (match_dup 0)
(match_operand:HI 1 "general_src_operand" "dn,dmSn")))] (match_operand:HI 1 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"and%.w %1,%0") "and%.w %1,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d"))
(and:HI (match_operand:HI 1 "general_src_operand" "dn,dmSn") (and:HI (match_operand:HI 1 "general_src_operand" "dn,dmSn")
(match_dup 0)))] (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
"and%.w %1,%0") "and%.w %1,%0")
(define_insn "andqi3" (define_insn "andqi3"
[(set (match_operand:QI 0 "general_operand" "=m,d") [(set (match_operand:QI 0 "nonimmediate_operand" "=m,d")
(and:QI (match_operand:QI 1 "general_operand" "%0,0") (and:QI (match_operand:QI 1 "general_operand" "%0,0")
(match_operand:QI 2 "general_src_operand" "dn,dmSn")))] (match_operand:QI 2 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"and%.b %2,%0") "and%.b %2,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d"))
(and:QI (match_dup 0) (and:QI (match_dup 0)
(match_operand:QI 1 "general_src_operand" "dn,dmSn")))] (match_operand:QI 1 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"and%.b %1,%0") "and%.b %1,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d"))
(and:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn") (and:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn")
(match_dup 0)))] (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
...@@ -3755,7 +3755,7 @@ ...@@ -3755,7 +3755,7 @@
;; inclusive-or instructions ;; inclusive-or instructions
(define_insn "iordi_zext" (define_insn "iordi_zext"
[(set (match_operand:DI 0 "general_operand" "=o,d") [(set (match_operand:DI 0 "nonimmediate_operand" "=o,d")
(ior:DI (zero_extend:DI (match_operand 1 "general_operand" "dn,dmn")) (ior:DI (zero_extend:DI (match_operand 1 "general_operand" "dn,dmn"))
(match_operand:DI 2 "general_operand" "0,0")))] (match_operand:DI 2 "general_operand" "0,0")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -3782,7 +3782,7 @@ ...@@ -3782,7 +3782,7 @@
;; "iordi3" is mainly here to help combine(). ;; "iordi3" is mainly here to help combine().
(define_insn "iordi3" (define_insn "iordi3"
[(set (match_operand:DI 0 "general_operand" "=o,d") [(set (match_operand:DI 0 "nonimmediate_operand" "=o,d")
(ior:DI (match_operand:DI 1 "general_operand" "%0,0") (ior:DI (match_operand:DI 1 "general_operand" "%0,0")
(match_operand:DI 2 "general_operand" "dn,don")))] (match_operand:DI 2 "general_operand" "dn,don")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -3852,14 +3852,14 @@ ...@@ -3852,14 +3852,14 @@
}") }")
(define_expand "iorsi3" (define_expand "iorsi3"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(ior:SI (match_operand:SI 1 "general_operand" "") (ior:SI (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_src_operand" "")))] (match_operand:SI 2 "general_src_operand" "")))]
"" ""
"") "")
(define_insn "iorsi3_internal" (define_insn "iorsi3_internal"
[(set (match_operand:SI 0 "general_operand" "=m,d") [(set (match_operand:SI 0 "nonimmediate_operand" "=m,d")
(ior:SI (match_operand:SI 1 "general_operand" "%0,0") (ior:SI (match_operand:SI 1 "general_operand" "%0,0")
(match_operand:SI 2 "general_src_operand" "dKT,dmSMT")))] (match_operand:SI 2 "general_src_operand" "dKT,dmSMT")))]
"! TARGET_5200" "! TARGET_5200"
...@@ -3869,49 +3869,49 @@ ...@@ -3869,49 +3869,49 @@
}") }")
(define_insn "iorsi3_5200" (define_insn "iorsi3_5200"
[(set (match_operand:SI 0 "general_operand" "=m,d") [(set (match_operand:SI 0 "nonimmediate_operand" "=m,d")
(ior:SI (match_operand:SI 1 "general_operand" "%0,0") (ior:SI (match_operand:SI 1 "general_operand" "%0,0")
(match_operand:SI 2 "general_src_operand" "d,dmsK")))] (match_operand:SI 2 "general_src_operand" "d,dmsK")))]
"TARGET_5200" "TARGET_5200"
"or%.l %2,%0") "or%.l %2,%0")
(define_insn "iorhi3" (define_insn "iorhi3"
[(set (match_operand:HI 0 "general_operand" "=m,d") [(set (match_operand:HI 0 "nonimmediate_operand" "=m,d")
(ior:HI (match_operand:HI 1 "general_operand" "%0,0") (ior:HI (match_operand:HI 1 "general_operand" "%0,0")
(match_operand:HI 2 "general_src_operand" "dn,dmSn")))] (match_operand:HI 2 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"or%.w %2,%0") "or%.w %2,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d"))
(ior:HI (match_dup 0) (ior:HI (match_dup 0)
(match_operand:HI 1 "general_src_operand" "dn,dmSn")))] (match_operand:HI 1 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"or%.w %1,%0") "or%.w %1,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+m,d"))
(ior:HI (match_operand:HI 1 "general_src_operand" "dn,dmSn") (ior:HI (match_operand:HI 1 "general_src_operand" "dn,dmSn")
(match_dup 0)))] (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
"or%.w %1,%0") "or%.w %1,%0")
(define_insn "iorqi3" (define_insn "iorqi3"
[(set (match_operand:QI 0 "general_operand" "=m,d") [(set (match_operand:QI 0 "nonimmediate_operand" "=m,d")
(ior:QI (match_operand:QI 1 "general_operand" "%0,0") (ior:QI (match_operand:QI 1 "general_operand" "%0,0")
(match_operand:QI 2 "general_src_operand" "dn,dmSn")))] (match_operand:QI 2 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"or%.b %2,%0") "or%.b %2,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d"))
(ior:QI (match_dup 0) (ior:QI (match_dup 0)
(match_operand:QI 1 "general_src_operand" "dn,dmSn")))] (match_operand:QI 1 "general_src_operand" "dn,dmSn")))]
"!TARGET_5200" "!TARGET_5200"
"or%.b %1,%0") "or%.b %1,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+m,d")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+m,d"))
(ior:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn") (ior:QI (match_operand:QI 1 "general_src_operand" "dn,dmSn")
(match_dup 0)))] (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
...@@ -3921,7 +3921,7 @@ ...@@ -3921,7 +3921,7 @@
;; See also ashlsi_16, ashrsi_16 and lshrsi_16. ;; See also ashlsi_16, ashrsi_16 and lshrsi_16.
(define_insn "iorsi_zexthi_ashl16" (define_insn "iorsi_zexthi_ashl16"
[(set (match_operand:SI 0 "general_operand" "=&d") [(set (match_operand:SI 0 "nonimmediate_operand" "=&d")
(ior:SI (zero_extend:SI (match_operand:HI 1 "general_operand" "rmn")) (ior:SI (zero_extend:SI (match_operand:HI 1 "general_operand" "rmn"))
(ashift:SI (match_operand:SI 2 "general_operand" "or") (ashift:SI (match_operand:SI 2 "general_operand" "or")
(const_int 16))))] (const_int 16))))]
...@@ -3938,7 +3938,7 @@ ...@@ -3938,7 +3938,7 @@
}") }")
(define_insn "iorsi_zext" (define_insn "iorsi_zext"
[(set (match_operand:SI 0 "general_operand" "=o,d") [(set (match_operand:SI 0 "nonimmediate_operand" "=o,d")
(ior:SI (zero_extend:SI (match_operand 1 "general_operand" "dn,dmn")) (ior:SI (zero_extend:SI (match_operand 1 "general_operand" "dn,dmn"))
(match_operand:SI 2 "general_operand" "0,0")))] (match_operand:SI 2 "general_operand" "0,0")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -3961,7 +3961,7 @@ ...@@ -3961,7 +3961,7 @@
;; "xordi3" is mainly here to help combine(). ;; "xordi3" is mainly here to help combine().
(define_insn "xordi3" (define_insn "xordi3"
[(set (match_operand:DI 0 "general_operand" "=od") [(set (match_operand:DI 0 "nonimmediate_operand" "=od")
(xor:DI (match_operand:DI 1 "general_operand" "%0") (xor:DI (match_operand:DI 1 "general_operand" "%0")
(match_operand:DI 2 "general_operand" "dn")))] (match_operand:DI 2 "general_operand" "dn")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -4034,14 +4034,14 @@ ...@@ -4034,14 +4034,14 @@
}") }")
(define_expand "xorsi3" (define_expand "xorsi3"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(xor:SI (match_operand:SI 1 "general_operand" "") (xor:SI (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_operand" "")))] (match_operand:SI 2 "general_operand" "")))]
"" ""
"") "")
(define_insn "xorsi3_internal" (define_insn "xorsi3_internal"
[(set (match_operand:SI 0 "general_operand" "=do,m") [(set (match_operand:SI 0 "nonimmediate_operand" "=do,m")
(xor:SI (match_operand:SI 1 "general_operand" "%0,0") (xor:SI (match_operand:SI 1 "general_operand" "%0,0")
(match_operand:SI 2 "general_operand" "di,dKT")))] (match_operand:SI 2 "general_operand" "di,dKT")))]
...@@ -4052,49 +4052,49 @@ ...@@ -4052,49 +4052,49 @@
}") }")
(define_insn "xorsi3_5200" (define_insn "xorsi3_5200"
[(set (match_operand:SI 0 "general_operand" "=dm,d") [(set (match_operand:SI 0 "nonimmediate_operand" "=dm,d")
(xor:SI (match_operand:SI 1 "general_operand" "%0,0") (xor:SI (match_operand:SI 1 "general_operand" "%0,0")
(match_operand:SI 2 "general_operand" "d,Ks")))] (match_operand:SI 2 "general_operand" "d,Ks")))]
"TARGET_5200" "TARGET_5200"
"eor%.l %2,%0") "eor%.l %2,%0")
(define_insn "xorhi3" (define_insn "xorhi3"
[(set (match_operand:HI 0 "general_operand" "=dm") [(set (match_operand:HI 0 "nonimmediate_operand" "=dm")
(xor:HI (match_operand:HI 1 "general_operand" "%0") (xor:HI (match_operand:HI 1 "general_operand" "%0")
(match_operand:HI 2 "general_operand" "dn")))] (match_operand:HI 2 "general_operand" "dn")))]
"!TARGET_5200" "!TARGET_5200"
"eor%.w %2,%0") "eor%.w %2,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm"))
(xor:HI (match_dup 0) (xor:HI (match_dup 0)
(match_operand:HI 1 "general_operand" "dn")))] (match_operand:HI 1 "general_operand" "dn")))]
"!TARGET_5200" "!TARGET_5200"
"eor%.w %1,%0") "eor%.w %1,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm"))
(xor:HI (match_operand:HI 1 "general_operand" "dn") (xor:HI (match_operand:HI 1 "general_operand" "dn")
(match_dup 0)))] (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
"eor%.w %1,%0") "eor%.w %1,%0")
(define_insn "xorqi3" (define_insn "xorqi3"
[(set (match_operand:QI 0 "general_operand" "=dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
(xor:QI (match_operand:QI 1 "general_operand" "%0") (xor:QI (match_operand:QI 1 "general_operand" "%0")
(match_operand:QI 2 "general_operand" "dn")))] (match_operand:QI 2 "general_operand" "dn")))]
"!TARGET_5200" "!TARGET_5200"
"eor%.b %2,%0") "eor%.b %2,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm"))
(xor:QI (match_dup 0) (xor:QI (match_dup 0)
(match_operand:QI 1 "general_operand" "dn")))] (match_operand:QI 1 "general_operand" "dn")))]
"!TARGET_5200" "!TARGET_5200"
"eor%.b %1,%0") "eor%.b %1,%0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm"))
(xor:QI (match_operand:QI 1 "general_operand" "dn") (xor:QI (match_operand:QI 1 "general_operand" "dn")
(match_dup 0)))] (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
...@@ -4103,7 +4103,7 @@ ...@@ -4103,7 +4103,7 @@
;; negation instructions ;; negation instructions
(define_expand "negdi2" (define_expand "negdi2"
[(set (match_operand:DI 0 "general_operand" "") [(set (match_operand:DI 0 "nonimmediate_operand" "")
(neg:DI (match_operand:DI 1 "general_operand" "")))] (neg:DI (match_operand:DI 1 "general_operand" "")))]
"" ""
" "
...@@ -4116,7 +4116,7 @@ ...@@ -4116,7 +4116,7 @@
}") }")
(define_insn "negdi2_internal" (define_insn "negdi2_internal"
[(set (match_operand:DI 0 "general_operand" "=<,do,!*a") [(set (match_operand:DI 0 "nonimmediate_operand" "=<,do,!*a")
(neg:DI (match_operand:DI 1 "general_operand" "0,0,0")))] (neg:DI (match_operand:DI 1 "general_operand" "0,0,0")))]
"!TARGET_5200" "!TARGET_5200"
"* "*
...@@ -4134,7 +4134,7 @@ ...@@ -4134,7 +4134,7 @@
} ") } ")
(define_insn "negdi2_5200" (define_insn "negdi2_5200"
[(set (match_operand:DI 0 "general_operand" "=d") [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
(neg:DI (match_operand:DI 1 "general_operand" "0")))] (neg:DI (match_operand:DI 1 "general_operand" "0")))]
"TARGET_5200" "TARGET_5200"
"* "*
...@@ -4144,7 +4144,7 @@ ...@@ -4144,7 +4144,7 @@
} ") } ")
(define_expand "negsi2" (define_expand "negsi2"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(neg:SI (match_operand:SI 1 "general_operand" "")))] (neg:SI (match_operand:SI 1 "general_operand" "")))]
"" ""
" "
...@@ -4157,37 +4157,37 @@ ...@@ -4157,37 +4157,37 @@
}") }")
(define_insn "negsi2_internal" (define_insn "negsi2_internal"
[(set (match_operand:SI 0 "general_operand" "=dm") [(set (match_operand:SI 0 "nonimmediate_operand" "=dm")
(neg:SI (match_operand:SI 1 "general_operand" "0")))] (neg:SI (match_operand:SI 1 "general_operand" "0")))]
"!TARGET_5200" "!TARGET_5200"
"neg%.l %0") "neg%.l %0")
(define_insn "negsi2_5200" (define_insn "negsi2_5200"
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(neg:SI (match_operand:SI 1 "general_operand" "0")))] (neg:SI (match_operand:SI 1 "general_operand" "0")))]
"TARGET_5200" "TARGET_5200"
"neg%.l %0") "neg%.l %0")
(define_insn "neghi2" (define_insn "neghi2"
[(set (match_operand:HI 0 "general_operand" "=dm") [(set (match_operand:HI 0 "nonimmediate_operand" "=dm")
(neg:HI (match_operand:HI 1 "general_operand" "0")))] (neg:HI (match_operand:HI 1 "general_operand" "0")))]
"!TARGET_5200" "!TARGET_5200"
"neg%.w %0") "neg%.w %0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm"))
(neg:HI (match_dup 0)))] (neg:HI (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
"neg%.w %0") "neg%.w %0")
(define_insn "negqi2" (define_insn "negqi2"
[(set (match_operand:QI 0 "general_operand" "=dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
(neg:QI (match_operand:QI 1 "general_operand" "0")))] (neg:QI (match_operand:QI 1 "general_operand" "0")))]
"!TARGET_5200" "!TARGET_5200"
"neg%.b %0") "neg%.b %0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm"))
(neg:QI (match_dup 0)))] (neg:QI (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
"neg%.b %0") "neg%.b %0")
...@@ -4195,7 +4195,7 @@ ...@@ -4195,7 +4195,7 @@
;; If using software floating point, just flip the sign bit. ;; If using software floating point, just flip the sign bit.
(define_expand "negsf2" (define_expand "negsf2"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(neg:SF (match_operand:SF 1 "general_operand" "")))] (neg:SF (match_operand:SF 1 "general_operand" "")))]
"" ""
" "
...@@ -4222,13 +4222,13 @@ ...@@ -4222,13 +4222,13 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=x,y") [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y")
(neg:SF (match_operand:SF 1 "general_operand" "xH,rmF")))] (neg:SF (match_operand:SF 1 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
"fpneg%.s %w1,%0") "fpneg%.s %w1,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f,d") [(set (match_operand:SF 0 "nonimmediate_operand" "=f,d")
(neg:SF (match_operand:SF 1 "general_operand" "fdmF,0")))] (neg:SF (match_operand:SF 1 "general_operand" "fdmF,0")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -4244,7 +4244,7 @@ ...@@ -4244,7 +4244,7 @@
}") }")
(define_expand "negdf2" (define_expand "negdf2"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(neg:DF (match_operand:DF 1 "general_operand" "")))] (neg:DF (match_operand:DF 1 "general_operand" "")))]
"" ""
" "
...@@ -4278,13 +4278,13 @@ ...@@ -4278,13 +4278,13 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=x,y") [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y")
(neg:DF (match_operand:DF 1 "general_operand" "xH,rmF")))] (neg:DF (match_operand:DF 1 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
"fpneg%.d %y1, %0") "fpneg%.d %y1, %0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f,d") [(set (match_operand:DF 0 "nonimmediate_operand" "=f,d")
(neg:DF (match_operand:DF 1 "general_operand" "fmF,0")))] (neg:DF (match_operand:DF 1 "general_operand" "fmF,0")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -4302,7 +4302,7 @@ ...@@ -4302,7 +4302,7 @@
;; Sqrt instruction for the 68881 ;; Sqrt instruction for the 68881
(define_insn "sqrtsf2" (define_insn "sqrtsf2"
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(sqrt:SF (match_operand:SF 1 "general_operand" "fm")))] (sqrt:SF (match_operand:SF 1 "general_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -4314,7 +4314,7 @@ ...@@ -4314,7 +4314,7 @@
}") }")
(define_insn "sqrtdf2" (define_insn "sqrtdf2"
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(sqrt:DF (match_operand:DF 1 "general_operand" "fm")))] (sqrt:DF (match_operand:DF 1 "general_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -4329,7 +4329,7 @@ ...@@ -4329,7 +4329,7 @@
;; If using software floating point, just zero the sign bit. ;; If using software floating point, just zero the sign bit.
(define_expand "abssf2" (define_expand "abssf2"
[(set (match_operand:SF 0 "general_operand" "") [(set (match_operand:SF 0 "nonimmediate_operand" "")
(abs:SF (match_operand:SF 1 "general_operand" "")))] (abs:SF (match_operand:SF 1 "general_operand" "")))]
"" ""
" "
...@@ -4356,13 +4356,13 @@ ...@@ -4356,13 +4356,13 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=x,y") [(set (match_operand:SF 0 "nonimmediate_operand" "=x,y")
(abs:SF (match_operand:SF 1 "general_operand" "xH,rmF")))] (abs:SF (match_operand:SF 1 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
"fpabs%.s %y1,%0") "fpabs%.s %y1,%0")
(define_insn "" (define_insn ""
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(abs:SF (match_operand:SF 1 "general_operand" "fdmF")))] (abs:SF (match_operand:SF 1 "general_operand" "fdmF")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -4373,7 +4373,7 @@ ...@@ -4373,7 +4373,7 @@
}") }")
(define_expand "absdf2" (define_expand "absdf2"
[(set (match_operand:DF 0 "general_operand" "") [(set (match_operand:DF 0 "nonimmediate_operand" "")
(abs:DF (match_operand:DF 1 "general_operand" "")))] (abs:DF (match_operand:DF 1 "general_operand" "")))]
"" ""
" "
...@@ -4407,13 +4407,13 @@ ...@@ -4407,13 +4407,13 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=x,y") [(set (match_operand:DF 0 "nonimmediate_operand" "=x,y")
(abs:DF (match_operand:DF 1 "general_operand" "xH,rmF")))] (abs:DF (match_operand:DF 1 "general_operand" "xH,rmF")))]
"TARGET_FPA" "TARGET_FPA"
"fpabs%.d %y1,%0") "fpabs%.d %y1,%0")
(define_insn "" (define_insn ""
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(abs:DF (match_operand:DF 1 "general_operand" "fmF")))] (abs:DF (match_operand:DF 1 "general_operand" "fmF")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -4427,7 +4427,7 @@ ...@@ -4427,7 +4427,7 @@
;; "one_cmpldi2" is mainly here to help combine(). ;; "one_cmpldi2" is mainly here to help combine().
(define_insn "one_cmpldi2" (define_insn "one_cmpldi2"
[(set (match_operand:DI 0 "general_operand" "=dm") [(set (match_operand:DI 0 "nonimmediate_operand" "=dm")
(not:DI (match_operand:DI 1 "general_operand" "0")))] (not:DI (match_operand:DI 1 "general_operand" "0")))]
"!TARGET_5200" "!TARGET_5200"
"* "*
...@@ -4444,7 +4444,7 @@ ...@@ -4444,7 +4444,7 @@
}") }")
(define_expand "one_cmplsi2" (define_expand "one_cmplsi2"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(not:SI (match_operand:SI 1 "general_operand" "")))] (not:SI (match_operand:SI 1 "general_operand" "")))]
"" ""
" "
...@@ -4457,37 +4457,37 @@ ...@@ -4457,37 +4457,37 @@
}") }")
(define_insn "one_cmplsi2_internal" (define_insn "one_cmplsi2_internal"
[(set (match_operand:SI 0 "general_operand" "=dm") [(set (match_operand:SI 0 "nonimmediate_operand" "=dm")
(not:SI (match_operand:SI 1 "general_operand" "0")))] (not:SI (match_operand:SI 1 "general_operand" "0")))]
"!TARGET_5200" "!TARGET_5200"
"not%.l %0") "not%.l %0")
(define_insn "one_cmplsi2_5200" (define_insn "one_cmplsi2_5200"
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(not:SI (match_operand:SI 1 "general_operand" "0")))] (not:SI (match_operand:SI 1 "general_operand" "0")))]
"TARGET_5200" "TARGET_5200"
"not%.l %0") "not%.l %0")
(define_insn "one_cmplhi2" (define_insn "one_cmplhi2"
[(set (match_operand:HI 0 "general_operand" "=dm") [(set (match_operand:HI 0 "nonimmediate_operand" "=dm")
(not:HI (match_operand:HI 1 "general_operand" "0")))] (not:HI (match_operand:HI 1 "general_operand" "0")))]
"!TARGET_5200" "!TARGET_5200"
"not%.w %0") "not%.w %0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm"))
(not:HI (match_dup 0)))] (not:HI (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
"not%.w %0") "not%.w %0")
(define_insn "one_cmplqi2" (define_insn "one_cmplqi2"
[(set (match_operand:QI 0 "general_operand" "=dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
(not:QI (match_operand:QI 1 "general_operand" "0")))] (not:QI (match_operand:QI 1 "general_operand" "0")))]
"!TARGET_5200" "!TARGET_5200"
"not%.b %0") "not%.b %0")
(define_insn "" (define_insn ""
[(set (strict_low_part (match_operand:QI 0 "general_operand" "+dm")) [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+dm"))
(not:QI (match_dup 0)))] (not:QI (match_dup 0)))]
"!TARGET_5200" "!TARGET_5200"
"not%.b %0") "not%.b %0")
...@@ -4496,7 +4496,7 @@ ...@@ -4496,7 +4496,7 @@
;; We don't need the shift memory by 1 bit instruction ;; We don't need the shift memory by 1 bit instruction
(define_insn "ashldi_extsi" (define_insn "ashldi_extsi"
[(set (match_operand:DI 0 "general_operand" "=ro") [(set (match_operand:DI 0 "nonimmediate_operand" "=ro")
(ashift:DI (ashift:DI
(match_operator:DI 2 "extend_operator" (match_operator:DI 2 "extend_operator"
[(match_operand:SI 1 "general_operand" "rm")]) [(match_operand:SI 1 "general_operand" "rm")])
...@@ -4516,7 +4516,7 @@ ...@@ -4516,7 +4516,7 @@
} ") } ")
(define_insn "ashldi_sexthi" (define_insn "ashldi_sexthi"
[(set (match_operand:DI 0 "general_operand" "=m,a*d") [(set (match_operand:DI 0 "nonimmediate_operand" "=m,a*d")
(ashift:DI (sign_extend:DI (match_operand:HI 1 "general_operand" "rm,rm")) (ashift:DI (sign_extend:DI (match_operand:HI 1 "general_operand" "rm,rm"))
(const_int 32))) (const_int 32)))
(clobber (match_scratch:SI 2 "=a,X"))] (clobber (match_scratch:SI 2 "=a,X"))]
...@@ -4543,7 +4543,7 @@ ...@@ -4543,7 +4543,7 @@
} ") } ")
(define_insn "ashldi_const32" (define_insn "ashldi_const32"
[(set (match_operand:DI 0 "general_operand" "=rm") [(set (match_operand:DI 0 "nonimmediate_operand" "=rm")
(ashift:DI (match_operand:DI 1 "general_operand" "ro") (ashift:DI (match_operand:DI 1 "general_operand" "ro")
(const_int 32)))] (const_int 32)))]
"" ""
...@@ -4570,7 +4570,7 @@ ...@@ -4570,7 +4570,7 @@
;; The predicate below must be general_operand, because ashldi3 allows that ;; The predicate below must be general_operand, because ashldi3 allows that
(define_insn "ashldi_const" (define_insn "ashldi_const"
[(set (match_operand:DI 0 "general_operand" "=d") [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
(ashift:DI (match_operand:DI 1 "general_operand" "0") (ashift:DI (match_operand:DI 1 "general_operand" "0")
(match_operand 2 "const_int_operand" "n")))] (match_operand 2 "const_int_operand" "n")))]
"(!TARGET_5200 "(!TARGET_5200
...@@ -4602,7 +4602,7 @@ ...@@ -4602,7 +4602,7 @@
} ") } ")
(define_expand "ashldi3" (define_expand "ashldi3"
[(set (match_operand:DI 0 "general_operand" "") [(set (match_operand:DI 0 "nonimmediate_operand" "")
(ashift:DI (match_operand:DI 1 "general_operand" "") (ashift:DI (match_operand:DI 1 "general_operand" "")
(match_operand 2 "const_int_operand" "")))] (match_operand 2 "const_int_operand" "")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -4716,7 +4716,7 @@ ...@@ -4716,7 +4716,7 @@
}") }")
(define_insn "subreghi1ashrdi_const32" (define_insn "subreghi1ashrdi_const32"
[(set (match_operand:HI 0 "general_operand" "=rm") [(set (match_operand:HI 0 "nonimmediate_operand" "=rm")
(subreg:HI (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro") (subreg:HI (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro")
(const_int 32)) 4))] (const_int 32)) 4))]
"" ""
...@@ -4728,7 +4728,7 @@ ...@@ -4728,7 +4728,7 @@
} ") } ")
(define_insn "subregsi1ashrdi_const32" (define_insn "subregsi1ashrdi_const32"
[(set (match_operand:SI 0 "general_operand" "=rm") [(set (match_operand:SI 0 "nonimmediate_operand" "=rm")
(subreg:SI (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro") (subreg:SI (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro")
(const_int 32)) 4))] (const_int 32)) 4))]
"" ""
...@@ -4753,7 +4753,7 @@ ...@@ -4753,7 +4753,7 @@
} ") } ")
(define_insn "ashrdi_const32_mem" (define_insn "ashrdi_const32_mem"
[(set (match_operand:DI 0 "general_operand" "=o,<") [(set (match_operand:DI 0 "nonimmediate_operand" "=o,<")
(ashiftrt:DI (match_operand:DI 1 "general_operand" "ro,ro") (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro,ro")
(const_int 32))) (const_int 32)))
(clobber (match_scratch:SI 2 "=d,d"))] (clobber (match_scratch:SI 2 "=d,d"))]
...@@ -4773,7 +4773,7 @@ ...@@ -4773,7 +4773,7 @@
;; The predicate below must be general_operand, because ashrdi3 allows that ;; The predicate below must be general_operand, because ashrdi3 allows that
(define_insn "ashrdi_const" (define_insn "ashrdi_const"
[(set (match_operand:DI 0 "general_operand" "=d") [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
(ashiftrt:DI (match_operand:DI 1 "general_operand" "0") (ashiftrt:DI (match_operand:DI 1 "general_operand" "0")
(match_operand 2 "const_int_operand" "n")))] (match_operand 2 "const_int_operand" "n")))]
"(!TARGET_5200 "(!TARGET_5200
...@@ -4813,7 +4813,7 @@ ...@@ -4813,7 +4813,7 @@
} ") } ")
(define_expand "ashrdi3" (define_expand "ashrdi3"
[(set (match_operand:DI 0 "general_operand" "") [(set (match_operand:DI 0 "nonimmediate_operand" "")
(ashiftrt:DI (match_operand:DI 1 "general_operand" "") (ashiftrt:DI (match_operand:DI 1 "general_operand" "")
(match_operand 2 "const_int_operand" "")))] (match_operand 2 "const_int_operand" "")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -4882,7 +4882,7 @@ ...@@ -4882,7 +4882,7 @@
;; [(set (cc0) ;; [(set (cc0)
;; (subreg:SI (lshiftrt:DI (match_operand:DI 0 "general_operand" "ro") ;; (subreg:SI (lshiftrt:DI (match_operand:DI 0 "general_operand" "ro")
;; (const_int 32)) 4)) ;; (const_int 32)) 4))
;; (set (match_operand:SI 1 "general_operand" "=dm") ;; (set (match_operand:SI 1 "nonimmediate_operand" "=dm")
;; (subreg:SI (lshiftrt:DI (match_dup 0) ;; (subreg:SI (lshiftrt:DI (match_dup 0)
;; (const_int 32)) 4))] ;; (const_int 32)) 4))]
;; "" ;; ""
...@@ -4895,7 +4895,7 @@ ...@@ -4895,7 +4895,7 @@
;; [(set (cc0) ;; [(set (cc0)
;; (subreg:SI (lshiftrt:DI (match_operand:DI 0 "general_operand" "ro") ;; (subreg:SI (lshiftrt:DI (match_operand:DI 0 "general_operand" "ro")
;; (const_int 32)) 0)) ;; (const_int 32)) 0))
;; (set (match_operand:DI 1 "general_operand" "=do") ;; (set (match_operand:DI 1 "nonimmediate_operand" "=do")
;; (lshiftrt:DI (match_dup 0) ;; (lshiftrt:DI (match_dup 0)
;; (const_int 32)))] ;; (const_int 32)))]
;; "" ;; ""
...@@ -4909,7 +4909,7 @@ ...@@ -4909,7 +4909,7 @@
;;} ") ;;} ")
(define_insn "subreg1lshrdi_const32" (define_insn "subreg1lshrdi_const32"
[(set (match_operand:SI 0 "general_operand" "=rm") [(set (match_operand:SI 0 "nonimmediate_operand" "=rm")
(subreg:SI (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro") (subreg:SI (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro")
(const_int 32)) 4))] (const_int 32)) 4))]
"" ""
...@@ -4919,7 +4919,7 @@ ...@@ -4919,7 +4919,7 @@
} ") } ")
(define_insn "lshrdi_const32" (define_insn "lshrdi_const32"
[(set (match_operand:DI 0 "general_operand" "=ro,<,>") [(set (match_operand:DI 0 "nonimmediate_operand" "=ro,<,>")
(lshiftrt:DI (match_operand:DI 1 "general_operand" "ro,ro,ro") (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro,ro,ro")
(const_int 32)))] (const_int 32)))]
"" ""
...@@ -4946,7 +4946,7 @@ ...@@ -4946,7 +4946,7 @@
;; The predicate below must be general_operand, because lshrdi3 allows that ;; The predicate below must be general_operand, because lshrdi3 allows that
(define_insn "lshrdi_const" (define_insn "lshrdi_const"
[(set (match_operand:DI 0 "general_operand" "=d") [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
(lshiftrt:DI (match_operand:DI 1 "general_operand" "0") (lshiftrt:DI (match_operand:DI 1 "general_operand" "0")
(match_operand 2 "const_int_operand" "n")))] (match_operand 2 "const_int_operand" "n")))]
"(!TARGET_5200 "(!TARGET_5200
...@@ -4981,7 +4981,7 @@ ...@@ -4981,7 +4981,7 @@
} ") } ")
(define_expand "lshrdi3" (define_expand "lshrdi3"
[(set (match_operand:DI 0 "general_operand" "") [(set (match_operand:DI 0 "nonimmediate_operand" "")
(lshiftrt:DI (match_operand:DI 1 "general_operand" "") (lshiftrt:DI (match_operand:DI 1 "general_operand" "")
(match_operand 2 "const_int_operand" "")))] (match_operand 2 "const_int_operand" "")))]
"!TARGET_5200" "!TARGET_5200"
...@@ -5318,7 +5318,7 @@ ...@@ -5318,7 +5318,7 @@
; than an odd byte aligned bit field instruction. ; than an odd byte aligned bit field instruction.
; ;
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=rm") [(set (match_operand:SI 0 "nonimmediate_operand" "=rm")
(zero_extract:SI (match_operand:QI 1 "memory_src_operand" "oS") (zero_extract:SI (match_operand:QI 1 "memory_src_operand" "oS")
(const_int 32) (const_int 32)
(match_operand:SI 2 "const_int_operand" "n")))] (match_operand:SI 2 "const_int_operand" "n")))]
...@@ -5334,7 +5334,7 @@ ...@@ -5334,7 +5334,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=&d") [(set (match_operand:SI 0 "nonimmediate_operand" "=&d")
(zero_extract:SI (match_operand:SI 1 "register_operand" "do") (zero_extract:SI (match_operand:SI 1 "register_operand" "do")
(match_operand:SI 2 "const_int_operand" "n") (match_operand:SI 2 "const_int_operand" "n")
(match_operand:SI 3 "const_int_operand" "n")))] (match_operand:SI 3 "const_int_operand" "n")))]
...@@ -5374,7 +5374,7 @@ ...@@ -5374,7 +5374,7 @@
; than an odd byte aligned bit field instruction. ; than an odd byte aligned bit field instruction.
; ;
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=rm") [(set (match_operand:SI 0 "nonimmediate_operand" "=rm")
(sign_extract:SI (match_operand:QI 1 "memory_src_operand" "oS") (sign_extract:SI (match_operand:QI 1 "memory_src_operand" "oS")
(const_int 32) (const_int 32)
(match_operand:SI 2 "const_int_operand" "n")))] (match_operand:SI 2 "const_int_operand" "n")))]
...@@ -5390,7 +5390,7 @@ ...@@ -5390,7 +5390,7 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(sign_extract:SI (match_operand:SI 1 "register_operand" "do") (sign_extract:SI (match_operand:SI 1 "register_operand" "do")
(match_operand:SI 2 "const_int_operand" "n") (match_operand:SI 2 "const_int_operand" "n")
(match_operand:SI 3 "const_int_operand" "n")))] (match_operand:SI 3 "const_int_operand" "n")))]
...@@ -5422,7 +5422,7 @@ ...@@ -5422,7 +5422,7 @@
;; so that its address is reloaded. ;; so that its address is reloaded.
(define_expand "extv" (define_expand "extv"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(sign_extract:SI (match_operand:SI 1 "general_operand" "") (sign_extract:SI (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_operand" "") (match_operand:SI 2 "general_operand" "")
(match_operand:SI 3 "general_operand" "")))] (match_operand:SI 3 "general_operand" "")))]
...@@ -5430,7 +5430,7 @@ ...@@ -5430,7 +5430,7 @@
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(sign_extract:SI (match_operand:QI 1 "memory_operand" "o") (sign_extract:SI (match_operand:QI 1 "memory_operand" "o")
(match_operand:SI 2 "general_operand" "di") (match_operand:SI 2 "general_operand" "di")
(match_operand:SI 3 "general_operand" "di")))] (match_operand:SI 3 "general_operand" "di")))]
...@@ -5438,7 +5438,7 @@ ...@@ -5438,7 +5438,7 @@
"bfexts %1{%b3:%b2},%0") "bfexts %1{%b3:%b2},%0")
(define_expand "extzv" (define_expand "extzv"
[(set (match_operand:SI 0 "general_operand" "") [(set (match_operand:SI 0 "nonimmediate_operand" "")
(zero_extract:SI (match_operand:SI 1 "general_operand" "") (zero_extract:SI (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_operand" "") (match_operand:SI 2 "general_operand" "")
(match_operand:SI 3 "general_operand" "")))] (match_operand:SI 3 "general_operand" "")))]
...@@ -5446,7 +5446,7 @@ ...@@ -5446,7 +5446,7 @@
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d,d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d")
(zero_extract:SI (match_operand:QI 1 "memory_operand" "o,d") (zero_extract:SI (match_operand:QI 1 "memory_operand" "o,d")
(match_operand:SI 2 "general_operand" "di,di") (match_operand:SI 2 "general_operand" "di,di")
(match_operand:SI 3 "general_operand" "di,di")))] (match_operand:SI 3 "general_operand" "di,di")))]
...@@ -5506,7 +5506,7 @@ ...@@ -5506,7 +5506,7 @@
}") }")
(define_expand "insv" (define_expand "insv"
[(set (zero_extract:SI (match_operand:SI 0 "general_operand" "") [(set (zero_extract:SI (match_operand:SI 0 "nonimmediate_operand" "")
(match_operand:SI 1 "general_operand" "") (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_operand" "")) (match_operand:SI 2 "general_operand" ""))
(match_operand:SI 3 "register_operand" ""))] (match_operand:SI 3 "register_operand" ""))]
...@@ -5525,7 +5525,7 @@ ...@@ -5525,7 +5525,7 @@
;; (or at least were intended to do so). ;; (or at least were intended to do so).
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(sign_extract:SI (match_operand:SI 1 "register_operand" "d") (sign_extract:SI (match_operand:SI 1 "register_operand" "d")
(match_operand:SI 2 "general_operand" "di") (match_operand:SI 2 "general_operand" "di")
(match_operand:SI 3 "general_operand" "di")))] (match_operand:SI 3 "general_operand" "di")))]
...@@ -5533,7 +5533,7 @@ ...@@ -5533,7 +5533,7 @@
"bfexts %1{%b3:%b2},%0") "bfexts %1{%b3:%b2},%0")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(zero_extract:SI (match_operand:SI 1 "register_operand" "d") (zero_extract:SI (match_operand:SI 1 "register_operand" "d")
(match_operand:SI 2 "general_operand" "di") (match_operand:SI 2 "general_operand" "di")
(match_operand:SI 3 "general_operand" "di")))] (match_operand:SI 3 "general_operand" "di")))]
...@@ -5648,7 +5648,7 @@ ...@@ -5648,7 +5648,7 @@
}") }")
(define_insn "scc0_di" (define_insn "scc0_di"
[(set (match_operand:QI 0 "general_operand" "=dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
(match_operator 1 "valid_dbcc_comparison_p" (match_operator 1 "valid_dbcc_comparison_p"
[(match_operand:DI 2 "general_operand" "ro") (const_int 0)]))] [(match_operand:DI 2 "general_operand" "ro") (const_int 0)]))]
"! TARGET_5200" "! TARGET_5200"
...@@ -5658,7 +5658,7 @@ ...@@ -5658,7 +5658,7 @@
} ") } ")
(define_insn "scc0_di_5200" (define_insn "scc0_di_5200"
[(set (match_operand:QI 0 "general_operand" "=d") [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
(match_operator 1 "valid_dbcc_comparison_p" (match_operator 1 "valid_dbcc_comparison_p"
[(match_operand:DI 2 "general_operand" "ro") (const_int 0)]))] [(match_operand:DI 2 "general_operand" "ro") (const_int 0)]))]
"TARGET_5200" "TARGET_5200"
...@@ -5668,7 +5668,7 @@ ...@@ -5668,7 +5668,7 @@
} ") } ")
(define_insn "scc_di" (define_insn "scc_di"
[(set (match_operand:QI 0 "general_operand" "=dm,dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm,dm")
(match_operator 1 "valid_dbcc_comparison_p" (match_operator 1 "valid_dbcc_comparison_p"
[(match_operand:DI 2 "general_operand" "ro,r") [(match_operand:DI 2 "general_operand" "ro,r")
(match_operand:DI 3 "general_operand" "r,ro")]))] (match_operand:DI 3 "general_operand" "r,ro")]))]
...@@ -5679,7 +5679,7 @@ ...@@ -5679,7 +5679,7 @@
} ") } ")
(define_insn "scc_di_5200" (define_insn "scc_di_5200"
[(set (match_operand:QI 0 "general_operand" "=d,d") [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d")
(match_operator 1 "valid_dbcc_comparison_p" (match_operator 1 "valid_dbcc_comparison_p"
[(match_operand:DI 2 "general_operand" "ro,r") [(match_operand:DI 2 "general_operand" "ro,r")
(match_operand:DI 3 "general_operand" "r,ro")]))] (match_operand:DI 3 "general_operand" "r,ro")]))]
...@@ -6554,7 +6554,7 @@ ...@@ -6554,7 +6554,7 @@
(define_insn "" (define_insn ""
[(set (pc) [(set (pc)
(if_then_else (if_then_else
(ne (match_operand:HI 0 "general_operand" "+d*g") (ne (match_operand:HI 0 "nonimmediate_operand" "+d*g")
(const_int 0)) (const_int 0))
(label_ref (match_operand 1 "" "")) (label_ref (match_operand 1 "" ""))
(pc))) (pc)))
...@@ -6597,7 +6597,7 @@ ...@@ -6597,7 +6597,7 @@
(define_insn "" (define_insn ""
[(set (pc) [(set (pc)
(if_then_else (if_then_else
(ne (match_operand:SI 0 "general_operand" "+d*g") (ne (match_operand:SI 0 "nonimmediate_operand" "+d*g")
(const_int 0)) (const_int 0))
(label_ref (match_operand 1 "" "")) (label_ref (match_operand 1 "" ""))
(pc))) (pc)))
...@@ -6643,7 +6643,7 @@ ...@@ -6643,7 +6643,7 @@
(define_insn "" (define_insn ""
[(set (pc) [(set (pc)
(if_then_else (if_then_else
(ge (plus:HI (match_operand:HI 0 "general_operand" "+d*am") (ge (plus:HI (match_operand:HI 0 "nonimmediate_operand" "+d*am")
(const_int -1)) (const_int -1))
(const_int 0)) (const_int 0))
(label_ref (match_operand 1 "" "")) (label_ref (match_operand 1 "" ""))
...@@ -6688,7 +6688,7 @@ ...@@ -6688,7 +6688,7 @@
(define_expand "decrement_and_branch_until_zero" (define_expand "decrement_and_branch_until_zero"
[(parallel [(set (pc) [(parallel [(set (pc)
(if_then_else (if_then_else
(ge (plus:SI (match_operand:SI 0 "general_operand" "") (ge (plus:SI (match_operand:SI 0 "nonimmediate_operand" "")
(const_int -1)) (const_int -1))
(const_int 0)) (const_int 0))
(label_ref (match_operand 1 "" "")) (label_ref (match_operand 1 "" ""))
...@@ -6702,7 +6702,7 @@ ...@@ -6702,7 +6702,7 @@
(define_insn "" (define_insn ""
[(set (pc) [(set (pc)
(if_then_else (if_then_else
(ge (plus:SI (match_operand:SI 0 "general_operand" "+d*am") (ge (plus:SI (match_operand:SI 0 "nonimmediate_operand" "+d*am")
(const_int -1)) (const_int -1))
(const_int 0)) (const_int 0))
(label_ref (match_operand 1 "" "")) (label_ref (match_operand 1 "" ""))
...@@ -6991,7 +6991,7 @@ ...@@ -6991,7 +6991,7 @@
;; This should not be used unless the add/sub insns can't be. ;; This should not be used unless the add/sub insns can't be.
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "general_operand" "=a") [(set (match_operand:SI 0 "nonimmediate_operand" "=a")
(match_operand:QI 1 "address_operand" "p"))] (match_operand:QI 1 "address_operand" "p"))]
"" ""
"* "*
...@@ -7458,7 +7458,7 @@ ...@@ -7458,7 +7458,7 @@
}") }")
(define_insn "extendsfxf2" (define_insn "extendsfxf2"
[(set (match_operand:XF 0 "general_operand" "=fm,f") [(set (match_operand:XF 0 "nonimmediate_operand" "=fm,f")
(float_extend:XF (match_operand:SF 1 "general_operand" "f,rmF")))] (float_extend:XF (match_operand:SF 1 "general_operand" "f,rmF")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -7490,7 +7490,7 @@ ...@@ -7490,7 +7490,7 @@
(define_insn "extenddfxf2" (define_insn "extenddfxf2"
[(set (match_operand:XF 0 "general_operand" "=fm,f") [(set (match_operand:XF 0 "nonimmediate_operand" "=fm,f")
(float_extend:XF (float_extend:XF
(match_operand:DF 1 "general_operand" "f,rmE")))] (match_operand:DF 1 "general_operand" "f,rmE")))]
"TARGET_68881" "TARGET_68881"
...@@ -7526,7 +7526,7 @@ ...@@ -7526,7 +7526,7 @@
}") }")
(define_insn "truncxfdf2" (define_insn "truncxfdf2"
[(set (match_operand:DF 0 "general_operand" "=m,!r") [(set (match_operand:DF 0 "nonimmediate_operand" "=m,!r")
(float_truncate:DF (float_truncate:DF
(match_operand:XF 1 "general_operand" "f,f")))] (match_operand:XF 1 "general_operand" "f,f")))]
"TARGET_68881" "TARGET_68881"
...@@ -7542,32 +7542,32 @@ ...@@ -7542,32 +7542,32 @@
}") }")
(define_insn "truncxfsf2" (define_insn "truncxfsf2"
[(set (match_operand:SF 0 "general_operand" "=dm") [(set (match_operand:SF 0 "nonimmediate_operand" "=dm")
(float_truncate:SF (float_truncate:SF
(match_operand:XF 1 "general_operand" "f")))] (match_operand:XF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.s %f1,%0") "fmove%.s %f1,%0")
(define_insn "floatsixf2" (define_insn "floatsixf2"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(float:XF (match_operand:SI 1 "general_operand" "dmi")))] (float:XF (match_operand:SI 1 "general_operand" "dmi")))]
"TARGET_68881" "TARGET_68881"
"fmove%.l %1,%0") "fmove%.l %1,%0")
(define_insn "floathixf2" (define_insn "floathixf2"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(float:XF (match_operand:HI 1 "general_operand" "dmn")))] (float:XF (match_operand:HI 1 "general_operand" "dmn")))]
"TARGET_68881" "TARGET_68881"
"fmove%.w %1,%0") "fmove%.w %1,%0")
(define_insn "floatqixf2" (define_insn "floatqixf2"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(float:XF (match_operand:QI 1 "general_operand" "dmn")))] (float:XF (match_operand:QI 1 "general_operand" "dmn")))]
"TARGET_68881" "TARGET_68881"
"fmove%.b %1,%0") "fmove%.b %1,%0")
(define_insn "ftruncxf2" (define_insn "ftruncxf2"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(fix:XF (match_operand:XF 1 "general_operand" "fFm")))] (fix:XF (match_operand:XF 1 "general_operand" "fFm")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -7578,46 +7578,46 @@ ...@@ -7578,46 +7578,46 @@
}") }")
(define_insn "fixxfqi2" (define_insn "fixxfqi2"
[(set (match_operand:QI 0 "general_operand" "=dm") [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
(fix:QI (match_operand:XF 1 "general_operand" "f")))] (fix:QI (match_operand:XF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.b %1,%0") "fmove%.b %1,%0")
(define_insn "fixxfhi2" (define_insn "fixxfhi2"
[(set (match_operand:HI 0 "general_operand" "=dm") [(set (match_operand:HI 0 "nonimmediate_operand" "=dm")
(fix:HI (match_operand:XF 1 "general_operand" "f")))] (fix:HI (match_operand:XF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.w %1,%0") "fmove%.w %1,%0")
(define_insn "fixxfsi2" (define_insn "fixxfsi2"
[(set (match_operand:SI 0 "general_operand" "=dm") [(set (match_operand:SI 0 "nonimmediate_operand" "=dm")
(fix:SI (match_operand:XF 1 "general_operand" "f")))] (fix:SI (match_operand:XF 1 "general_operand" "f")))]
"TARGET_68881" "TARGET_68881"
"fmove%.l %1,%0") "fmove%.l %1,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(plus:XF (float:XF (match_operand:SI 2 "general_operand" "dmi")) (plus:XF (float:XF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:XF 1 "nonimmediate_operand" "0")))] (match_operand:XF 1 "nonimmediate_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"fadd%.l %2,%0") "fadd%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(plus:XF (float:XF (match_operand:HI 2 "general_operand" "dmn")) (plus:XF (float:XF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:XF 1 "nonimmediate_operand" "0")))] (match_operand:XF 1 "nonimmediate_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"fadd%.w %2,%0") "fadd%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(plus:XF (float:XF (match_operand:QI 2 "general_operand" "dmn")) (plus:XF (float:XF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:XF 1 "general_operand" "0")))] (match_operand:XF 1 "general_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"fadd%.b %2,%0") "fadd%.b %2,%0")
(define_insn "addxf3" (define_insn "addxf3"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(plus:XF (match_operand:XF 1 "nonimmediate_operand" "%0") (plus:XF (match_operand:XF 1 "nonimmediate_operand" "%0")
(match_operand:XF 2 "nonimmediate_operand" "fm")))] (match_operand:XF 2 "nonimmediate_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
...@@ -7629,28 +7629,28 @@ ...@@ -7629,28 +7629,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(minus:XF (match_operand:XF 1 "nonimmediate_operand" "0") (minus:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(float:XF (match_operand:SI 2 "general_operand" "dmi"))))] (float:XF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881" "TARGET_68881"
"fsub%.l %2,%0") "fsub%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(minus:XF (match_operand:XF 1 "nonimmediate_operand" "0") (minus:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(float:XF (match_operand:HI 2 "general_operand" "dmn"))))] (float:XF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"fsub%.w %2,%0") "fsub%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(minus:XF (match_operand:XF 1 "nonimmediate_operand" "0") (minus:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(float:XF (match_operand:QI 2 "general_operand" "dmn"))))] (float:XF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"fsub%.b %2,%0") "fsub%.b %2,%0")
(define_insn "subxf3" (define_insn "subxf3"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(minus:XF (match_operand:XF 1 "nonimmediate_operand" "0") (minus:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(match_operand:XF 2 "nonimmediate_operand" "fm")))] (match_operand:XF 2 "nonimmediate_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
...@@ -7662,28 +7662,28 @@ ...@@ -7662,28 +7662,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(mult:XF (float:XF (match_operand:SI 2 "general_operand" "dmi")) (mult:XF (float:XF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:XF 1 "nonimmediate_operand" "0")))] (match_operand:XF 1 "nonimmediate_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"fmul%.l %2,%0") "fmul%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(mult:XF (float:XF (match_operand:HI 2 "general_operand" "dmn")) (mult:XF (float:XF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:XF 1 "nonimmediate_operand" "0")))] (match_operand:XF 1 "nonimmediate_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"fmul%.w %2,%0") "fmul%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(mult:XF (float:XF (match_operand:QI 2 "general_operand" "dmn")) (mult:XF (float:XF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:XF 1 "nonimmediate_operand" "0")))] (match_operand:XF 1 "nonimmediate_operand" "0")))]
"TARGET_68881" "TARGET_68881"
"fmul%.b %2,%0") "fmul%.b %2,%0")
(define_insn "mulxf3" (define_insn "mulxf3"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(mult:XF (match_operand:XF 1 "nonimmediate_operand" "%0") (mult:XF (match_operand:XF 1 "nonimmediate_operand" "%0")
(match_operand:XF 2 "nonimmediate_operand" "fm")))] (match_operand:XF 2 "nonimmediate_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
...@@ -7695,28 +7695,28 @@ ...@@ -7695,28 +7695,28 @@
}") }")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(div:XF (match_operand:XF 1 "nonimmediate_operand" "0") (div:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(float:XF (match_operand:SI 2 "general_operand" "dmi"))))] (float:XF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881" "TARGET_68881"
"fdiv%.l %2,%0") "fdiv%.l %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(div:XF (match_operand:XF 1 "nonimmediate_operand" "0") (div:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(float:XF (match_operand:HI 2 "general_operand" "dmn"))))] (float:XF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"fdiv%.w %2,%0") "fdiv%.w %2,%0")
(define_insn "" (define_insn ""
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(div:XF (match_operand:XF 1 "nonimmediate_operand" "0") (div:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(float:XF (match_operand:QI 2 "general_operand" "dmn"))))] (float:XF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881" "TARGET_68881"
"fdiv%.b %2,%0") "fdiv%.b %2,%0")
(define_insn "divxf3" (define_insn "divxf3"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(div:XF (match_operand:XF 1 "nonimmediate_operand" "0") (div:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(match_operand:XF 2 "nonimmediate_operand" "fm")))] (match_operand:XF 2 "nonimmediate_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
...@@ -7728,7 +7728,7 @@ ...@@ -7728,7 +7728,7 @@
}") }")
(define_expand "negxf2" (define_expand "negxf2"
[(set (match_operand:XF 0 "general_operand" "") [(set (match_operand:XF 0 "nonimmediate_operand" "")
(neg:XF (match_operand:XF 1 "nonimmediate_operand" "")))] (neg:XF (match_operand:XF 1 "nonimmediate_operand" "")))]
"" ""
" "
...@@ -7766,7 +7766,7 @@ ...@@ -7766,7 +7766,7 @@
}") }")
(define_insn "negxf2_68881" (define_insn "negxf2_68881"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(neg:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))] (neg:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -7777,7 +7777,7 @@ ...@@ -7777,7 +7777,7 @@
}") }")
(define_expand "absxf2" (define_expand "absxf2"
[(set (match_operand:XF 0 "general_operand" "") [(set (match_operand:XF 0 "nonimmediate_operand" "")
(abs:XF (match_operand:XF 1 "nonimmediate_operand" "")))] (abs:XF (match_operand:XF 1 "nonimmediate_operand" "")))]
"" ""
" "
...@@ -7815,7 +7815,7 @@ ...@@ -7815,7 +7815,7 @@
}") }")
(define_insn "absxf2_68881" (define_insn "absxf2_68881"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(abs:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))] (abs:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
"* "*
...@@ -7826,13 +7826,13 @@ ...@@ -7826,13 +7826,13 @@
}") }")
(define_insn "sqrtxf2" (define_insn "sqrtxf2"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(sqrt:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))] (sqrt:XF (match_operand:XF 1 "nonimmediate_operand" "fm")))]
"TARGET_68881" "TARGET_68881"
"fsqrt%.x %1,%0") "fsqrt%.x %1,%0")
(define_insn "sinsf2" (define_insn "sinsf2"
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(unspec:SF [(match_operand:SF 1 "general_operand" "fm")] 1))] (unspec:SF [(match_operand:SF 1 "general_operand" "fm")] 1))]
"TARGET_68881 && flag_unsafe_math_optimizations" "TARGET_68881 && flag_unsafe_math_optimizations"
"* "*
...@@ -7844,7 +7844,7 @@ ...@@ -7844,7 +7844,7 @@
}") }")
(define_insn "sindf2" (define_insn "sindf2"
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(unspec:DF [(match_operand:DF 1 "general_operand" "fm")] 1))] (unspec:DF [(match_operand:DF 1 "general_operand" "fm")] 1))]
"TARGET_68881 && flag_unsafe_math_optimizations" "TARGET_68881 && flag_unsafe_math_optimizations"
"* "*
...@@ -7856,13 +7856,13 @@ ...@@ -7856,13 +7856,13 @@
}") }")
(define_insn "sinxf2" (define_insn "sinxf2"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(unspec:XF [(match_operand:XF 1 "nonimmediate_operand" "fm")] 1))] (unspec:XF [(match_operand:XF 1 "nonimmediate_operand" "fm")] 1))]
"TARGET_68881 && flag_unsafe_math_optimizations" "TARGET_68881 && flag_unsafe_math_optimizations"
"fsin%.x %1,%0") "fsin%.x %1,%0")
(define_insn "cossf2" (define_insn "cossf2"
[(set (match_operand:SF 0 "general_operand" "=f") [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
(unspec:SF [(match_operand:SF 1 "general_operand" "fm")] 2))] (unspec:SF [(match_operand:SF 1 "general_operand" "fm")] 2))]
"TARGET_68881 && flag_unsafe_math_optimizations" "TARGET_68881 && flag_unsafe_math_optimizations"
"* "*
...@@ -7874,7 +7874,7 @@ ...@@ -7874,7 +7874,7 @@
}") }")
(define_insn "cosdf2" (define_insn "cosdf2"
[(set (match_operand:DF 0 "general_operand" "=f") [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
(unspec:DF [(match_operand:DF 1 "general_operand" "fm")] 2))] (unspec:DF [(match_operand:DF 1 "general_operand" "fm")] 2))]
"TARGET_68881 && flag_unsafe_math_optimizations" "TARGET_68881 && flag_unsafe_math_optimizations"
"* "*
...@@ -7886,7 +7886,7 @@ ...@@ -7886,7 +7886,7 @@
}") }")
(define_insn "cosxf2" (define_insn "cosxf2"
[(set (match_operand:XF 0 "general_operand" "=f") [(set (match_operand:XF 0 "nonimmediate_operand" "=f")
(unspec:XF [(match_operand:XF 1 "nonimmediate_operand" "fm")] 2))] (unspec:XF [(match_operand:XF 1 "nonimmediate_operand" "fm")] 2))]
"TARGET_68881 && flag_unsafe_math_optimizations" "TARGET_68881 && flag_unsafe_math_optimizations"
"fcos%.x %1,%0") "fcos%.x %1,%0")
......
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