diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1995-04-11 13:59:16 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1995-04-11 13:59:16 -0700 |
commit | d2f09a2f765cdffb6f40d7c772ab78fe89bdfa69 (patch) | |
tree | b87f7c3ed7d61e2628bbe52ee7dff440cf99e1df /gcc | |
parent | 22bbceaf8eee3a3fb5d463c2a3bac29bf3d2b96b (diff) | |
download | gcc-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.md | 16 |
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") |