aboutsummaryrefslogtreecommitdiff
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel1@de.ibm.com>2005-09-22 14:45:27 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2005-09-22 14:45:27 +0000
commit6231646a02eebc2006f91c628ffca8f875ec9ac5 (patch)
treed3ac8e3beb068ff1572011f2852f1c92262ee8f6 /gcc/expmed.c
parent7b9d4f7084b377ac50df11387983c5b4e6004137 (diff)
downloadgcc-6231646a02eebc2006f91c628ffca8f875ec9ac5.zip
gcc-6231646a02eebc2006f91c628ffca8f875ec9ac5.tar.gz
gcc-6231646a02eebc2006f91c628ffca8f875ec9ac5.tar.bz2
expmed.c (expand_shift): Don't use the target of the rotate as target for the first expanded shift insn.
2005-09-22 Andreas Krebbel <krebbel1@de.ibm.com> * expmed.c (expand_shift): Don't use the target of the rotate as target for the first expanded shift insn. * testsuite/gcc.dg/20050922-1.c: Testcase added. From-SVN: r104528
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r--gcc/expmed.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 27a8b9b..5da9084 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -2227,9 +2227,9 @@ expand_shift (enum tree_code code, enum machine_mode mode, rtx shifted,
shifted = force_reg (mode, shifted);
temp = expand_shift (left ? LSHIFT_EXPR : RSHIFT_EXPR,
- mode, shifted, new_amount, subtarget, 1);
+ mode, shifted, new_amount, 0, 1);
temp1 = expand_shift (left ? RSHIFT_EXPR : LSHIFT_EXPR,
- mode, shifted, other_amount, 0, 1);
+ mode, shifted, other_amount, subtarget, 1);
return expand_binop (mode, ior_optab, temp, temp1, target,
unsignedp, methods);
}