> Hi! > > On Sun, Mar 05, 2023 at 03:33:40PM -0600, Segher Boessenkool wrote: > > On Sun, Mar 05, 2023 at 08:43:20PM +0000, Tamar Christina wrote: > > Yes, *look* better: I have seen no proof or indication that this would > > ("looks", I cannot type, sorry) > > > actually generate better code, not even on just aarch, let alone on > > the majority of targets. As I said I have a test running, you may be > > lucky even :-) It has to run for about six hours more and after that > > it needs analysis still (a few more hours if it isn't obviously always > > better or worse), so expect results tomorrow night at the earliest. > > The results are in: > > $ perl sizes.pl --percent C[12] > C1 C2 > alpha 7082243 100.066% > arc 4207975 100.015% > arm 11518624 100.008% > arm64 24514565 100.067% > armhf 16661684 100.098% > csky 4031841 100.002% > i386 0 0 > ia64 20354295 100.029% > m68k 4394084 100.023% > microblaze 6549965 100.014% > mips 10684680 100.024% > mips64 8171850 100.002% > nios2 4356713 100.012% > openrisc 5010570 100.003% > parisc 8406294 100.002% > parisc64 0 0 > powerpc 11104901 99.992% > powerpc64 24532358 100.057% > powerpc64le 21293219 100.062% > riscv32 2028474 100.131% > riscv64 9515453 100.120% > s390 20519612 100.279% > sh 0 0 > shnommu 1840960 100.012% > sparc 5314422 100.004% > sparc64 7964129 99.992% > x86_64 0 0 > xtensa 2925723 100.070% > > > C1 is the original, C2 with your patch. These numbers are the code sizes of a > Linux kernel, some defconfig for every arch. This is a good measure of how > effective combine was. > > The patch is a tiny win for sparc64 and classic powerpc32 only, but bad > everywhere else. Look at that s390 number! Or riscv, or most of the arm > variants (including aarch64). > > Do you want me to look in detail what causes this regression on some > particular target, i.e. why we really still need the expand_compound > functionality there? >
Hi, Thanks for having a look! I think the Richards are exploring a different solution on the PR so I don't think it's worth looking at now (maybe in stage-1?). Thanks for checking though! I Appreciate you all helping to get this fixed! Kind Regards, Tamar > (Btw. "0" means the target did not build. For the x86 targets this is just > more > -Werror madness that seeped in it seems. For parisc64 and sh it is the choice > of config. Will fix.) > > > Segher