(umulsi3_highpart): Test for CONST_INT and CONST_DOUBLE, not CONSTANT_P.
(smulsi3_highpart): Likewise. (const_umulsi3_highpart): Use const_uint32_operand instead of immediate_operand for op3. Delete mode. (const_smulsi3_highpart): Analogous change. From-SVN: r9307
This commit is contained in:
parent
67cd4f83cf
commit
28d29b39bc
|
@ -2907,9 +2907,12 @@
|
|||
"
|
||||
{
|
||||
operands[3] = gen_reg_rtx (SImode);
|
||||
if (CONSTANT_P (operands[2]))
|
||||
if (GET_CODE (operands[2]) == CONST_INT
|
||||
|| GET_CODE (operands[2]) == CONST_DOUBLE)
|
||||
{
|
||||
/* We have to rearrange the operand order for the matching constraints. */
|
||||
if (! const_uint32_operand (operands[2]))
|
||||
abort ();
|
||||
/* We have to adjust the operand order for the matching constraints. */
|
||||
emit_insn (gen_const_umulsi3_highpart (operands[0], operands[3],
|
||||
operands[1], operands[2]));
|
||||
DONE;
|
||||
|
@ -2932,7 +2935,7 @@
|
|||
(truncate:SI
|
||||
(lshiftrt:DI
|
||||
(mult:DI (zero_extend:DI (match_operand:SI 2 "register_operand" "1"))
|
||||
(match_operand:DI 3 "immediate_operand" "i"))
|
||||
(match_operand 3 "const_uint32_operand" ""))
|
||||
(const_int 32))))
|
||||
(clobber (match_operand:SI 1 "register_operand" "=d"))]
|
||||
"TARGET_68020"
|
||||
|
@ -2951,9 +2954,12 @@
|
|||
"
|
||||
{
|
||||
operands[3] = gen_reg_rtx (SImode);
|
||||
if (CONSTANT_P (operands[2]))
|
||||
if (GET_CODE (operands[2]) == CONST_INT
|
||||
|| GET_CODE (operands[2]) == CONST_DOUBLE)
|
||||
{
|
||||
/* We have to rearrange the operand order for the matching constraints. */
|
||||
if (! const_sint32_operand (operands[2]))
|
||||
abort ();
|
||||
/* We have to adjust the operand order for the matching constraints. */
|
||||
emit_insn (gen_const_smulsi3_highpart (operands[0], operands[3],
|
||||
operands[1], operands[2]));
|
||||
DONE;
|
||||
|
@ -2976,7 +2982,7 @@
|
|||
(truncate:SI
|
||||
(lshiftrt:DI
|
||||
(mult:DI (sign_extend:DI (match_operand:SI 2 "register_operand" "1"))
|
||||
(match_operand:DI 3 "immediate_operand" "i"))
|
||||
(match_operand 3 "const_sint32_operand" ""))
|
||||
(const_int 32))))
|
||||
(clobber (match_operand:SI 1 "register_operand" "=d"))]
|
||||
"TARGET_68020"
|
||||
|
|
Loading…
Reference in New Issue