aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-07-05 21:57:44 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-07-05 21:57:44 +0000
commit09b526703562a475d28e7a490e56dddb1edbe961 (patch)
treeda845a026c41cbba580457d2d2a1cfac7bb30c10 /gcc/expr.c
parent7682ef833a7aadac91f2fd21d2c61b74f4d4c957 (diff)
downloadgcc-09b526703562a475d28e7a490e56dddb1edbe961.zip
gcc-09b526703562a475d28e7a490e56dddb1edbe961.tar.gz
gcc-09b526703562a475d28e7a490e56dddb1edbe961.tar.bz2
calls.c (load_register_parameters): Call expand_shift instead of expand_binop with ashl_optab (or other shift...
* calls.c (load_register_parameters): Call expand_shift instead of expand_binop with ashl_optab (or other shift optab) directly. * expr.c (emit_group_load, emit_group_store): Likewise. * function.c (assign_parm_setup_block): Likewise. * stmt.c (shift_return_value): Likewise. From-SVN: r84134
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index b5feed7..e040444 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1923,8 +1923,8 @@ emit_group_load (rtx dst, rtx orig_src, tree type ATTRIBUTE_UNUSED, int ssize)
mode, mode, ssize);
if (shift)
- expand_binop (mode, ashl_optab, tmps[i], GEN_INT (shift),
- tmps[i], 0, OPTAB_WIDEN);
+ tmps[i] = expand_shift (LSHIFT_EXPR, mode, tmps[i],
+ build_int_2 (shift, 0), tmps[i], 0);
}
emit_queue ();
@@ -2037,8 +2037,8 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
)
{
int shift = (bytelen - (ssize - bytepos)) * BITS_PER_UNIT;
- expand_binop (mode, ashr_optab, tmps[i], GEN_INT (shift),
- tmps[i], 0, OPTAB_WIDEN);
+ tmps[i] = expand_shift (RSHIFT_EXPR, mode, tmps[i],
+ build_int_2 (shift, 0), tmps[i], 0);
}
bytelen = ssize - bytepos;
}