diff options
author | Roger Sayle <roger@eyesopen.com> | 2005-03-15 23:30:23 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2005-03-15 23:30:23 +0000 |
commit | 69f39b11aae0baeeba798fa1e6dead8845ce35ce (patch) | |
tree | 08a25f7864260b8894c8964349309a6e71186009 /gcc | |
parent | d522e7a2222a240910be4554bf202f21c1aa13e9 (diff) | |
download | gcc-69f39b11aae0baeeba798fa1e6dead8845ce35ce.zip gcc-69f39b11aae0baeeba798fa1e6dead8845ce35ce.tar.gz gcc-69f39b11aae0baeeba798fa1e6dead8845ce35ce.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/optabs.c | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a1b317..dc9540c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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> * toplev.c (display_target_options): Avoid unused variable warning if diff --git a/gcc/optabs.c b/gcc/optabs.c index a28042a..ccbf670 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -843,7 +843,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, NULL_RTX, 1, methods); if (temp) op0_high = expand_binop (word_mode, add_optab, op0_high, temp, - op0_high, 0, OPTAB_DIRECT); + NULL_RTX, 0, OPTAB_DIRECT); else { 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, if (!temp) return NULL_RTX; op0_high = expand_binop (word_mode, sub_optab, op0_high, temp, - op0_high, 0, OPTAB_DIRECT); + NULL_RTX, 0, OPTAB_DIRECT); } if (!op0_high) @@ -872,7 +872,7 @@ expand_doubleword_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target, NULL_RTX, 1, methods); if (temp) op1_high = expand_binop (word_mode, add_optab, op1_high, temp, - op1_high, 0, OPTAB_DIRECT); + NULL_RTX, 0, OPTAB_DIRECT); else { 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, if (!temp) return NULL_RTX; op1_high = expand_binop (word_mode, sub_optab, op1_high, temp, - op1_high, 0, OPTAB_DIRECT); + NULL_RTX, 0, OPTAB_DIRECT); } if (!op1_high) |