This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
3.4 PATCH for PR 13779
- From: Fariborz Jahanian <fjahanian at apple dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Fariborz Jahanian <fjahanian at apple dot com>, Roger Sayle <roger at eyesopen dot com>
- Date: Mon, 9 Feb 2004 14:17:15 -0800
- Subject: 3.4 PATCH for PR 13779
This is the fix for PR13779. Fix has been in the mainline for a few
weeks now. I was reminded that
it should also be applied to 3.4 branch. Bootstrapped passed. Currently
being dejagnu tested
on PPC-darwin. If all is well, OK to apply to 3.4 branch?
- Fariborz Jahanian <fjahanian@apple.com>
ChangeLog:
2004-02-09 Fariborz Jahanian <fjahanian@apple.com>
* expr.c (emit_group_load): split constant
correctly into register components of PARALLEL insn.
Index: expr.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/expr.c,v
retrieving revision 1.615.4.1
diff -c -p -r1.615.4.1 expr.c
*** expr.c 23 Jan 2004 23:35:56 -0000 1.615.4.1
--- expr.c 9 Feb 2004 22:06:50 -0000
*************** emit_group_load (rtx dst, rtx orig_src,
*** 1924,1929 ****
--- 1924,1932 ----
emit_move_insn (mem, src);
tmps[i] = adjust_address (mem, mode, (int) bytepos);
}
+ else if (CONSTANT_P (src) && GET_MODE (dst) != BLKmode
+ && XVECLEN (dst, 0) > 1)
+ tmps[i] = simplify_gen_subreg (mode, src, GET_MODE(dst),
bytepos);
else if (CONSTANT_P (src)
|| (GET_CODE (src) == REG && GET_MODE (src) == mode))
tmps[i] = src;
Attachment:
darwin-longlong.c
Description: Text document