diff options
author | Andreas Krebbel <krebbel1@de.ibm.com> | 2005-09-22 14:45:27 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2005-09-22 14:45:27 +0000 |
commit | 6231646a02eebc2006f91c628ffca8f875ec9ac5 (patch) | |
tree | d3ac8e3beb068ff1572011f2852f1c92262ee8f6 /gcc/expmed.c | |
parent | 7b9d4f7084b377ac50df11387983c5b4e6004137 (diff) | |
download | gcc-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.c | 4 |
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); } |