diff options
author | Roger Sayle <roger@eyesopen.com> | 2006-04-12 13:46:19 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2006-04-12 13:46:19 +0000 |
commit | 7488662d919b5f7fa2d8c1b0da1f5309cdc10d87 (patch) | |
tree | 1a304e3bd92cff1c86a5112723d83333937b45d7 /gcc/expr.c | |
parent | 76783bc2156ce814590f5c97a6948770fce8c531 (diff) | |
download | gcc-7488662d919b5f7fa2d8c1b0da1f5309cdc10d87.zip gcc-7488662d919b5f7fa2d8c1b0da1f5309cdc10d87.tar.gz gcc-7488662d919b5f7fa2d8c1b0da1f5309cdc10d87.tar.bz2 |
expr.c (emit_group_store): Correct operand order in call to subreg_lowpart_offset.
* expr.c (emit_group_store): Correct operand order in call to
subreg_lowpart_offset. Always create paradoxical SUBREGs with
a SUBREG_BYTE of zero.
From-SVN: r112887
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1940,11 +1940,11 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize) if (start < finish) { inner = GET_MODE (tmps[start]); - bytepos = subreg_lowpart_offset (outer, inner); + bytepos = subreg_lowpart_offset (inner, outer); if (INTVAL (XEXP (XVECEXP (src, 0, start), 1)) == bytepos) { temp = simplify_gen_subreg (outer, tmps[start], - inner, bytepos); + inner, 0); if (temp) { emit_move_insn (dst, temp); @@ -1959,11 +1959,11 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize) && start < finish - 1) { inner = GET_MODE (tmps[finish - 1]); - bytepos = subreg_lowpart_offset (outer, inner); + bytepos = subreg_lowpart_offset (inner, outer); if (INTVAL (XEXP (XVECEXP (src, 0, finish - 1), 1)) == bytepos) { temp = simplify_gen_subreg (outer, tmps[finish - 1], - inner, bytepos); + inner, 0); if (temp) { emit_move_insn (dst, temp); |