Commit 69f39b11 by Roger Sayle Committed by Roger Sayle

optabs.c (expand_doubleword_mult): Avoid clobbering op0 and op1 whilst expanding…

optabs.c (expand_doubleword_mult): Avoid clobbering op0 and op1 whilst expanding the signed widenening multiply...


	* optabs.c (expand_doubleword_mult): Avoid clobbering op0 and
	op1 whilst expanding the signed widenening multiply variant.

From-SVN: r96537
parent d522e7a2
2005-03-15 Roger Sayle <roger@eyesopen.com>
* optabs.c (expand_doubleword_mult): Avoid clobbering op0 and
op1 whilst expanding the signed widenening multiply variant.
2005-03-15 Richard Sandiford <rsandifo@redhat.com> 2005-03-15 Richard Sandiford <rsandifo@redhat.com>
* toplev.c (display_target_options): Avoid unused variable warning if * toplev.c (display_target_options): Avoid unused variable warning if
......
...@@ -843,7 +843,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, ...@@ -843,7 +843,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target,
NULL_RTX, 1, methods); NULL_RTX, 1, methods);
if (temp) if (temp)
op0_high = expand_binop (word_mode, add_optab, op0_high, temp, op0_high = expand_binop (word_mode, add_optab, op0_high, temp,
op0_high, 0, OPTAB_DIRECT); NULL_RTX, 0, OPTAB_DIRECT);
else else
{ {
temp = expand_binop (word_mode, ashr_optab, op0_low, wordm1, temp = expand_binop (word_mode, ashr_optab, op0_low, wordm1,
...@@ -851,7 +851,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, ...@@ -851,7 +851,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target,
if (!temp) if (!temp)
return NULL_RTX; return NULL_RTX;
op0_high = expand_binop (word_mode, sub_optab, op0_high, temp, op0_high = expand_binop (word_mode, sub_optab, op0_high, temp,
op0_high, 0, OPTAB_DIRECT); NULL_RTX, 0, OPTAB_DIRECT);
} }
if (!op0_high) if (!op0_high)
...@@ -872,7 +872,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, ...@@ -872,7 +872,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target,
NULL_RTX, 1, methods); NULL_RTX, 1, methods);
if (temp) if (temp)
op1_high = expand_binop (word_mode, add_optab, op1_high, temp, op1_high = expand_binop (word_mode, add_optab, op1_high, temp,
op1_high, 0, OPTAB_DIRECT); NULL_RTX, 0, OPTAB_DIRECT);
else else
{ {
temp = expand_binop (word_mode, ashr_optab, op1_low, wordm1, temp = expand_binop (word_mode, ashr_optab, op1_low, wordm1,
...@@ -880,7 +880,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, ...@@ -880,7 +880,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target,
if (!temp) if (!temp)
return NULL_RTX; return NULL_RTX;
op1_high = expand_binop (word_mode, sub_optab, op1_high, temp, op1_high = expand_binop (word_mode, sub_optab, op1_high, temp,
op1_high, 0, OPTAB_DIRECT); NULL_RTX, 0, OPTAB_DIRECT);
} }
if (!op1_high) if (!op1_high)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment