@@ -4537,16 +4537,15 @@ (define_split
"")
(define_insn "lshrsi3"
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r")
- (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r")
- (match_operand:SI 2 "reg_or_cint_operand" "O,r,i")))]
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
+ (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
+ (match_operand:SI 2 "reg_or_cint_operand" "r,i")))]
""
"@
- mr %0,%1
srw %0,%1,%2
srwi %0,%1,%h2"
- [(set_attr "type" "integer,shift,shift")
- (set_attr "var_shift" "no,yes,no")])
+ [(set_attr "type" "shift")
+ (set_attr "var_shift" "yes,no")])
(define_insn "*lshrsi3_64"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
@@ -4561,23 +4560,21 @@ (define_insn "*lshrsi3_64"
(set_attr "var_shift" "yes,no")])
(define_insn ""
- [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,x,?y,?y,?y")
- (compare:CC (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r,r,r")
- (match_operand:SI 2 "reg_or_cint_operand" "O,r,i,O,r,i"))
+ [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,?y,?y")
+ (compare:CC (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
+ (match_operand:SI 2 "reg_or_cint_operand" "r,i,r,i"))
(const_int 0)))
- (clobber (match_scratch:SI 3 "=X,r,r,X,r,r"))]
+ (clobber (match_scratch:SI 3 "=r,r,r,r"))]
"TARGET_32BIT"
"@
- mr. %1,%1
srw. %3,%1,%2
srwi. %3,%1,%h2
#
- #
#"
- [(set_attr "type" "logical,shift,shift,shift,shift,shift")
- (set_attr "var_shift" "no,yes,no,no,yes,no")
+ [(set_attr "type" "shift")
+ (set_attr "var_shift" "yes,no,yes,no")
(set_attr "dot" "yes")
- (set_attr "length" "4,4,4,8,8,8")])
+ (set_attr "length" "4,4,8,8")])
(define_split
[(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
@@ -4594,24 +4591,22 @@ (define_split
"")
(define_insn ""
- [(set (match_operand:CC 3 "cc_reg_operand" "=x,x,x,?y,?y,?y")
- (compare:CC (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r,r,r")
- (match_operand:SI 2 "reg_or_cint_operand" "O,r,i,O,r,i"))
+ [(set (match_operand:CC 3 "cc_reg_operand" "=x,x,?y,?y")
+ (compare:CC (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
+ (match_operand:SI 2 "reg_or_cint_operand" "r,i,r,i"))
(const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r,r")
+ (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
(lshiftrt:SI (match_dup 1) (match_dup 2)))]
"TARGET_32BIT"
"@
- mr. %0,%1
srw. %0,%1,%2
srwi. %0,%1,%h2
#
- #
#"
- [(set_attr "type" "logical,shift,shift,shift,shift,shift")
- (set_attr "var_shift" "no,yes,no,no,yes,no")
+ [(set_attr "type" "shift")
+ (set_attr "var_shift" "yes,no,yes,no")
(set_attr "dot" "yes")
- (set_attr "length" "4,4,4,8,8,8")])
+ (set_attr "length" "4,4,8,8")])
(define_split
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")