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.