Index: cse.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/cse.c,v retrieving revision 1.342.4.3 diff -c -p -r1.342.4.3 cse.c *** cse.c 5 Jul 2005 23:21:50 -0000 1.342.4.3 --- cse.c 19 Aug 2005 18:21:56 -0000 *************** cse_insn (rtx insn, rtx libcall_insn) *** 5455,5460 **** --- 5455,5469 ---- if (dest == pc_rtx && src_const && GET_CODE (src_const) == LABEL_REF) src_folded = src_const, src_folded_cost = src_folded_regcost = -1; + /* APPLE LOCAL begin radar 4153339 */ + if (n_sets == 1 && GET_CODE (sets[i].src) == REG + && src_const && GET_CODE (src_const) == CONST_DOUBLE) + { + src_folded = src_const; + src_folded_cost = src_folded_regcost = -1; + } + /* APPLE LOCAL end radar 4153339 */ + /* Terminate loop when replacement made. This must terminate since the current contents will be tested and will always be valid. */ while (1) Index: testsuite/ChangeLog.apple-ppc =================================================================== RCS file: /cvs/gcc/gcc/gcc/testsuite/Attic/ChangeLog.apple-ppc,v retrieving revision 1.1.4.88 diff -c -p -r1.1.4.88 ChangeLog.apple-ppc *** testsuite/ChangeLog.apple-ppc 15 Aug 2005 21:02:26 -0000 1.1.4.88 --- testsuite/ChangeLog.apple-ppc 19 Aug 2005 18:21:59 -0000 *************** *** 1,3 **** --- 1,8 ---- + 2005-08-18 Fariborz Jahanian + + Radar 4153339 + * gcc.dg/i386-movl-float.c: New. + 2005-08-15 Devang Patel Radar 4209318 Index: testsuite/gcc.dg/i386-movl-float.c =================================================================== RCS file: testsuite/gcc.dg/i386-movl-float.c diff -N testsuite/gcc.dg/i386-movl-float.c *** /dev/null 1 Jan 1970 00:00:00 -0000 --- testsuite/gcc.dg/i386-movl-float.c 19 Aug 2005 18:22:03 -0000 *************** *** 0 **** --- 1,15 ---- + /* APPLE LOCAL begin radar 4153339 */ + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-O1 -mdynamic-no-pic -march=pentium4 -mtune=prescott" } */ + /* { dg-final { scan-assembler-times "movl\[^\\n\]*" 8} } */ + + struct S { + double d1, d2, d3; + }; + + struct S ms() + { + struct S s = {0,0,0}; + return s; + } + /* APPLE LOCAL end radar 4153339 */