diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2014-06-22 19:09:24 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2014-06-22 19:09:24 +0200 |
commit | 1a2443af3afebfd3833df841dcf2a073d124fe48 (patch) | |
tree | 930725dcb709b60b933805ac130593c7ae7dcf3c /gcc | |
parent | 82db17cbd4b3d4278b505df7288f3f3771e87203 (diff) | |
download | gcc-1a2443af3afebfd3833df841dcf2a073d124fe48.zip gcc-1a2443af3afebfd3833df841dcf2a073d124fe48.tar.gz gcc-1a2443af3afebfd3833df841dcf2a073d124fe48.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 43 |
2 files changed, 24 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9240cc3..16c64e0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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> * config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 6f499a5..26791e8 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -4543,16 +4543,15 @@ "") (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") @@ -4567,23 +4566,21 @@ (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" "") @@ -4600,24 +4597,22 @@ "") (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" "") |