This is the mail archive of the gcc@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] |
On Tue, Jul 08, 2003 at 02:11:42PM -0700, H. J. Lu wrote: > On Tue, Jul 08, 2003 at 07:37:05AM -0700, H. J. Lu wrote: > > On Tue, Jul 08, 2003 at 04:10:33PM +0200, Andreas Schwab wrote: > > > Eric Botcazou <ebotcazou@libertysurf.fr> writes: > > > > > > |> > @@ -2054,10 +2054,10 @@ > > > |> > 2a50: 0b 70 00 1e 18 10 [MMI] ld8 r14=[r15];; > > > |> > 2a56: 70 00 38 0c 72 00 cmp.eq p7,p6=0,r14 > > > |> > 2a5c: 00 00 04 00 nop.i 0x0;; > > > |> > - 2a60: dc 00 20 40 98 11 [MFB] (p06) st8 [r32]=r8 > > > |> > + 2a60: fc 00 20 1e 98 11 [MFB] (p07) st8 [r15]=r8 > > > |> > 2a66: 00 00 00 02 00 00 nop.f 0x0 > > > |> > 2a6c: 00 00 00 20 nop.b 0x0 > > > |> > - 2a70: e0 00 20 1e 98 11 [MII] (p07) st8 [r15]=r8 > > > |> > + 2a70: c0 00 20 40 98 11 [MII] (p06) st8 [r32]=r8 > > > |> > 2a76: f0 c0 22 00 42 00 adds r15=88,r8 > > > |> > 2a7c: 04 40 00 84 mov r32=r8 > > > |> > 2a80: 0a 70 00 46 18 10 [MMI] ld8 r14=[r35];; > > > |> > > > |> It bears some ressemblance with PR optimization/11320, where the machine > > > |> dependent reorg pass also swaps two insns. > > > > > > Could be, but then I would have expected that the stage1 compiler > > > generates the same code. I'd rather think this is similar to the problem > > > that lead to the replacement of PWD with PWD_COMMAND. > > > > > > > Yes, it is true. Can you duplicate the result on the command line? If > > not, can you duplicate it with Makefile? > > > > I found: > > /* If we don't have __builtin_constant_p, or it's not acceptable in > array initializers, fall back to assuming that all conditions > potentially vary at run time. It works in 3.0.1 and later; 3.0 > only when not optimizing. */ > #if (GCC_VERSION >= 3001) || ((GCC_VERSION == 3000) && !__OPTIMIZE__) > # define MAYBE_EVAL(expr) (__builtin_constant_p(expr) ? (int) (expr) : -1) > #else > # define MAYBE_EVAL(expr) -1 > #endif > > in the generated insn-conditions.c. It means the stage1 compiler may > be different from the stage2 compiler, depending on what compiler is > used to bootstrap gcc. I think insn-conditions.c should be the same > regardless the compiler used to boostrap. > > I am testing this patch now. H.J.
Attachment:
gcc-3.3-const.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |