(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
This commit is contained in:
parent
22bbceaf8e
commit
d2f09a2f76
@ -657,10 +657,14 @@
|
|||||||
(define_expand "ashlsi3"
|
(define_expand "ashlsi3"
|
||||||
[(parallel[(set (match_operand:SI 0 "arith_reg_operand" "")
|
[(parallel[(set (match_operand:SI 0 "arith_reg_operand" "")
|
||||||
(ashift:SI (match_operand:SI 1 "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))])]
|
(clobber (reg:SI 18))])]
|
||||||
""
|
""
|
||||||
"if (! shiftby_operand (operands[2], SImode)) FAIL;")
|
"
|
||||||
|
{
|
||||||
|
if (! immediate_operand (operands[2], GET_MODE (operands[2])))
|
||||||
|
FAIL;
|
||||||
|
}")
|
||||||
|
|
||||||
;
|
;
|
||||||
; arithmetic shift right
|
; arithmetic shift right
|
||||||
@ -776,10 +780,14 @@
|
|||||||
(define_expand "lshrsi3"
|
(define_expand "lshrsi3"
|
||||||
[(parallel[(set (match_operand:SI 0 "arith_reg_operand" "")
|
[(parallel[(set (match_operand:SI 0 "arith_reg_operand" "")
|
||||||
(lshiftrt:SI (match_operand:SI 1 "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))])]
|
(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"
|
(define_insn "ashldi3_k"
|
||||||
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
|
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
|
||||||
|
Loading…
Reference in New Issue
Block a user