Hi,

On Mon, 8 Feb 2016, Richard Biener wrote:

> 429.mcf          9120        243       37.6 S    9120        245       37.3 S
> 429.mcf          9120        224       40.7 S    9120        241       37.8 *
> 429.mcf          9120        225       40.5 *    9120        229       39.9 S

> 471.omnetpp      6250        326       19.1 S    6250        328       19.1 S
> 471.omnetpp      6250        305       20.5 *    6250        324       19.3 *
> 471.omnetpp      6250        296       21.1 S    6250        305       20.5 S

> 435.gromacs      7140        316       22.6 S    7140        264       27.1 S
> 435.gromacs      7140        314       22.7 S    7140        263       27.2 S
> 435.gromacs      7140        316       22.6 *    7140        263       27.1 *
> 
> So overall the patch is a loss for SPEC CPU 2006 INT due to the 429.mcf 
> and 471.omnetpp regressions and a win on SPEC FP. (I didn't test SPEC 
> INT previously, only FP)

That's no regression if you look at the detailed results (like above).  
mcf and omnetpp were noisy on your machine, if you took the minimum of 
each run only the large progression of gromacs would remain.

> The gcc.target/i386/addr-sel-1.c (for PR28940) seems to just started
> working at some point past in time and thus it was added and the
> bug closed.  You could say RA does a better job after the patch
> as it uses 1 less register but that restricts the followup
> postreload combine attempts.  Though I wonder about what's "better"
> RA here - isn't the best allocation one that avoids spills but
> uses as many registers as possible (at least when targeting a CPU
> that cannot to register renaming)?

Yeah, I think the testcase was added for the wrong reasons.  It does 
exhibit a desirable outcome for sure, but the output became such by random 
changes, and hence also can go back by other changes.

> So I have applied the patch now,

I think the patch makes perfect sense.  ira_setup_alts should have no 
observable behaviour from the outside, except the returned value of merged 
acceptable alternatives.  Certainly it has no business to fiddle with 
recog_data.  It only does the swapping to merge alternatives, and 
accidentaly left them swapped; the merging could have been implemented 
without swapping recog_data.operands, and then the whole issue wouldn't 
have occurred (and addr-sel-1.c wouldn't have been added because it still 
would be "broken").


Ciao,
Michael.

Reply via email to