aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2014-06-22 19:09:24 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2014-06-22 19:09:24 +0200
commit1a2443af3afebfd3833df841dcf2a073d124fe48 (patch)
tree930725dcb709b60b933805ac130593c7ae7dcf3c /gcc
parent82db17cbd4b3d4278b505df7288f3f3771e87203 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.md43
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" "")