[Bug target/66312] [SH] Regression: Bootstrap failure gcc/d/ctfeexpr.dmd.o differs with gcc-4.8/4.9

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Sep 5 14:40:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66312

--- Comment #20 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to John Paul Adrian Glaubitz from comment #12)
> Created attachment 36224 [details]
> Stage 3 compiled version of ctfeexpr.dmd.o (unstripped)

(In reply to John Paul Adrian Glaubitz from comment #11)
> Created attachment 36223 [details]
> Stage 2 compiled version of ctfeexpr.dmd.o (unstripped)

I could spot only one difference:

stage2:
    cmp/pz   r1       // T = r1 >= 0

stage3:
    not      r1,r0
    shll     r0       // T = ~r0 >> 31

Both versions are functionally equivalent.
The increase from 1 insn to 2 insns then seems to cause other differences,
which are mainly only offsets.  Sometimes register allocation could also be
affected.

The question is why this is happening...



More information about the Gcc-bugs mailing list