aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-04-11 13:59:16 -0700
committerJim Wilson <wilson@gcc.gnu.org>1995-04-11 13:59:16 -0700
commitd2f09a2f765cdffb6f40d7c772ab78fe89bdfa69 (patch)
treeb87f7c3ed7d61e2628bbe52ee7dff440cf99e1df /gcc
parent22bbceaf8eee3a3fb5d463c2a3bac29bf3d2b96b (diff)
downloadgcc-d2f09a2f765cdffb6f40d7c772ab78fe89bdfa69.zip
gcc-d2f09a2f765cdffb6f40d7c772ab78fe89bdfa69.tar.gz
gcc-d2f09a2f765cdffb6f40d7c772ab78fe89bdfa69.tar.bz2
(ashlsi3): Use nonmemory_operand as a predicate instead of shiftby_operand.
(ashlsi3): Use nonmemory_operand as a predicate instead of shiftby_operand. Don't use shiftby_operand in the output statement. (lshrsi3): Likewise. From-SVN: r9361
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sh/sh.md16
1 files changed, 12 insertions, 4 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index c17575d..5825e77 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -657,10 +657,14 @@
(define_expand "ashlsi3"
[(parallel[(set (match_operand:SI 0 "arith_reg_operand" "")
(ashift:SI (match_operand:SI 1 "arith_reg_operand" "")
- (match_operand:SI 2 "shiftby_operand" "")))
+ (match_operand:SI 2 "nonmemory_operand" "")))
(clobber (reg:SI 18))])]
""
- "if (! shiftby_operand (operands[2], SImode)) FAIL;")
+ "
+{
+ if (! immediate_operand (operands[2], GET_MODE (operands[2])))
+ FAIL;
+}")
;
; arithmetic shift right
@@ -776,10 +780,14 @@
(define_expand "lshrsi3"
[(parallel[(set (match_operand:SI 0 "arith_reg_operand" "")
(lshiftrt:SI (match_operand:SI 1 "arith_reg_operand" "")
- (match_operand:SI 2 "shiftby_operand" "")))
+ (match_operand:SI 2 "nonmemory_operand" "")))
(clobber (reg:SI 18))])]
""
- "if (! shiftby_operand (operands[2], SImode)) FAIL;")
+ "
+{
+ if (! immediate_operand (operands[2], GET_MODE (operands[2])))
+ FAIL;
+}")
(define_insn "ashldi3_k"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")