This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] combine: If a parallel I2 was split, do not allow a new I2 (PR64268)
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Paolo Bonzini <bonzini at gnu dot org>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 16 Dec 2014 17:16:57 -0600
- Subject: Re: [PATCH] combine: If a parallel I2 was split, do not allow a new I2 (PR64268)
- Authentication-results: sourceware.org; auth=none
- References: <35b5f631a14f76c9305c7bfc8e8bf5fd764ec845 dot 1418640924 dot git dot segher at kernel dot crashing dot org> <548F0372 dot 4030101 at gnu dot org> <20141215162447 dot GA26283 at gate dot crashing dot org> <20141216132822 dot GA15706 at gate dot crashing dot org>
On Tue, Dec 16, 2014 at 07:28:22AM -0600, Segher Boessenkool wrote:
> I did a run for powerpc64, one for powerpc, and one for x86-64.
>
> The powerpc64 bootstrap was with pre-installed GMP etc.; the others
> had those libraries in-tree.
>
> "type1" is when try_combine used the ancient combine code to split a
> parallel set and set of cc; "type2" is when it used my code to split
> any other parallel that sets two things; and "type0" is when it didn't
> do either but still ended up with I1 and I2 the same UID (I think it
> might be called with the same insn twice; not a good thing, it does
> not know how to handle this; and it is really worrisome that it then
> sometimes succeeds in combining it).
>
> "tries" is how often that split-orig-I2-to-two code is used; "recog"
> is how often it reached the first call to recog (so it passed
> can_combine_p etc.); "fail" is how often it eventually failed (after
> reaching recog), "one" is how often it combined to one insn, "two"
> is how often it combined to two.
>
>
> powerpc64
> tries recog fail one two
> type1 39214 39214 38944 202 18
> type2 21540 18968 18928 2 38
> type0 292 289 0 3
>
>
> powerpc
> tries recog fail one two
> type1 21654 21654 21167 485 2
> type2 21839 19754 19243 0 509 (*)
> type0 427 294 0 133
>
>
> x86-64
> tries recog fail one two
> type1 17387 17387 17288 70 29
> type2 40413 31681 30242 60 1369
> type0 0 0 0 0
The new numbers:
powerpc64
tries recog fail one two
type1 39216 39216 38996 202 18
type2 21540 18968 18928 2 38
powerpc
tries recog fail one two
type1 45276 45276 44196 1040 40
type2 46149 41589 40553 0 1032
x86-64
tries recog fail one two
type1 17387 17387 17288 70 29
type2 40088 31625 30196 60 1369
Segher