This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]