ARM condition code register handling

Ian Lance Taylor ian@wasabisystems.com
Fri Feb 6 21:00:00 GMT 2004


Richard Earnshaw <rearnsha@arm.com> writes:

> I've just tried this patch on the CSiBE benchmark, although it is a slight 
> win, the detailed results are much less conclusive -- some files are not 
> inconsiderably larger when this patch is used.
> 
> 	Before		After		Delta
> O2	1201677		1201305		-0.03%
> Os	1153205		1152741		-0.04%
> 
> But on some individual files we have:
> 
> bzip2/bzip2 -Os		12884	12936	+0.4%
> osdemo/gltestperf -Os	6432	6478	+0.68%
> 
> It would be good to establish why some of these tests are now worse, it 
> might be that by disabling the early CSE of these values we can make 
> things worse as well.

I see why this is happening, and I see how to fix it.

But I also tried this test case on the tree-ssa branch with no
modifications, and the results were nearly as good.  The optimizations
were all done at the tree level before generating RTL.  So since
tree-ssa is coming into mainline, I don't see much point in pursuing
my patch.

I didn't fully investigate why the tree-ssa code wasn't quite as good,
but basically it was because the register allocation wasn't quite as
good, and it required an extra shuffle.

Ian



More information about the Gcc mailing list