diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-12 06:59:47 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-12 06:59:47 +0000 |
commit | 6ee1d299faa9128b2a5c8dcbf000d0a68f3a70c1 (patch) | |
tree | b84d6a18ed5d205a123313fe0851a7999005e4d4 /gcc/expr.c | |
parent | 05c09cb802643b1edef1c5a0441ebc0a3a3730cb (diff) | |
download | gcc-6ee1d299faa9128b2a5c8dcbf000d0a68f3a70c1.tar.gz |
* expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
to load from the stack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90521 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 18d3ff6edec..6037fd12a10 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -1673,11 +1673,12 @@ emit_group_load (rtx dst, rtx orig_src, tree type ATTRIBUTE_UNUSED, int ssize) else { rtx mem; - + gcc_assert (!bytepos); mem = assign_stack_temp (GET_MODE (src), slen, 0); emit_move_insn (mem, src); - tmps[i] = adjust_address (mem, mode, 0); + tmps[i] = extract_bit_field (mem, bytelen * BITS_PER_UNIT, + 0, 1, NULL_RTX, mode, mode); } } /* FIXME: A SIMD parallel will eventually lead to a subreg of a |