Commit 1a2443af by Segher Boessenkool Committed by Segher Boessenkool

rs6000: Remove "O" alternative from lshrsi3

Nothing will ever generate RTL matching this alternative.  Maybe long
ago this was needed, but not anymore.

From-SVN: r211875
parent 82db17cb
2014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (lshrsi3, and its two dot patterns):
Remove "O" alternative.
2014-06-22 Richard Sandiford <rdsandiford@googlemail.com> 2014-06-22 Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument. * config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
......
...@@ -4543,16 +4543,15 @@ ...@@ -4543,16 +4543,15 @@
"") "")
(define_insn "lshrsi3" (define_insn "lshrsi3"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r") [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r") (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_cint_operand" "O,r,i")))] (match_operand:SI 2 "reg_or_cint_operand" "r,i")))]
"" ""
"@ "@
mr %0,%1
srw %0,%1,%2 srw %0,%1,%2
srwi %0,%1,%h2" srwi %0,%1,%h2"
[(set_attr "type" "integer,shift,shift") [(set_attr "type" "shift")
(set_attr "var_shift" "no,yes,no")]) (set_attr "var_shift" "yes,no")])
(define_insn "*lshrsi3_64" (define_insn "*lshrsi3_64"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r") [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
...@@ -4567,23 +4566,21 @@ ...@@ -4567,23 +4566,21 @@
(set_attr "var_shift" "yes,no")]) (set_attr "var_shift" "yes,no")])
(define_insn "" (define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,x,x,?y,?y,?y") [(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,r,r") (compare:CC (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_cint_operand" "O,r,i,O,r,i")) (match_operand:SI 2 "reg_or_cint_operand" "r,i,r,i"))
(const_int 0))) (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" "TARGET_32BIT"
"@ "@
mr. %1,%1
srw. %3,%1,%2 srw. %3,%1,%2
srwi. %3,%1,%h2 srwi. %3,%1,%h2
# #
#
#" #"
[(set_attr "type" "logical,shift,shift,shift,shift,shift") [(set_attr "type" "shift")
(set_attr "var_shift" "no,yes,no,no,yes,no") (set_attr "var_shift" "yes,no,yes,no")
(set_attr "dot" "yes") (set_attr "dot" "yes")
(set_attr "length" "4,4,4,8,8,8")]) (set_attr "length" "4,4,8,8")])
(define_split (define_split
[(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "") [(set (match_operand:CC 0 "cc_reg_not_cr0_operand" "")
...@@ -4600,24 +4597,22 @@ ...@@ -4600,24 +4597,22 @@
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:CC 3 "cc_reg_operand" "=x,x,x,?y,?y,?y") [(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,r,r") (compare:CC (lshiftrt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_cint_operand" "O,r,i,O,r,i")) (match_operand:SI 2 "reg_or_cint_operand" "r,i,r,i"))
(const_int 0))) (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)))] (lshiftrt:SI (match_dup 1) (match_dup 2)))]
"TARGET_32BIT" "TARGET_32BIT"
"@ "@
mr. %0,%1
srw. %0,%1,%2 srw. %0,%1,%2
srwi. %0,%1,%h2 srwi. %0,%1,%h2
# #
#
#" #"
[(set_attr "type" "logical,shift,shift,shift,shift,shift") [(set_attr "type" "shift")
(set_attr "var_shift" "no,yes,no,no,yes,no") (set_attr "var_shift" "yes,no,yes,no")
(set_attr "dot" "yes") (set_attr "dot" "yes")
(set_attr "length" "4,4,4,8,8,8")]) (set_attr "length" "4,4,8,8")])
(define_split (define_split
[(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "") [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
......
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