[patch] Excessive alignment in ix86_data_alignment

Petr Murzin petrmurzin1@gmail.com
Wed Nov 26 23:41:00 GMT 2014


On 09 Oct 08:25, H.J. Lu wrote:
> On Thu, Oct 9, 2014 at 1:37 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> > On Thu, Oct 9, 2014 at 10:25 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> >> On 08 Oct 23:02, Petr Murzin wrote:
> >>> Hi,
> >>> I have measured performance impact on Haswell platform according to this
> >>> input:
> >>> https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00978.html
> 
> Kirill, please mention:
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61296
> 
> in your ChangeLog.
> 
> > What about older processors?
> 
> Kirill, please collect data on Nehelam/Westmere, Sandybrigde/Ivybride
> and Silvermont.
> 
> > The optimization was introduced well before Haswell for then current
> > processors, and it was based on the recommendation from Intel
> > optimization guide. If this optimization doesn't apply for new
> > processors, then tune option should be introduced and set accordingly.
> >
> 
> I believe the original excessive alignment was introduced by cut/paste
> from
> 
> https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=ed45e834f305d1f2709bf200a13d5beebc2fcfee
> 
> to improve x86 FP performance, which might be partially copied from
> CONSTANT_ALIGNMENT:
> 
> https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=f7d6703c5d83fc9fb06246d6eb49e9b61098045c
> 
> 
> -- 
> H.J.
Hi,
Here is the info about code and data size.

CODE SEGMENTS

SLM

Benchmark   | Trunk          | Trunk w/ patch | Diff, %
soplex      | 1970381        | 1969805        | -0.0292329250028
hmmer       | 1244935        | 1244775        | -0.0128520766144
Xalan       | 6464124        | 6448572        | -0.240589444138
gcc         | 5613433        | 5611001        | -0.0433246464329
gamess      | 16775109       | 16744869       | -0.180267085001
h264ref     | 2004787        | 2003155        | -0.0814051567573
libquantum  | 915693         | 915693         | 0.0
astar       | 956881         | 956849         | -0.0033441984949
gobmk       | 3000807        | 3000263        | -0.0181284567785
namd        | 1525077        | 1525045        | -0.00209825471107
lbm         | 777141         | 777141         | 0.0
milc        | 1151431        | 1151303        | -0.0111166018632
sjeng       | 994163         | 993555         | -0.0611569732529
GemsFDTD    | 2361733        | 2360773        | -0.0406481172935
leslie3d    | 1474453        | 1473909        | -0.0368950383634
bwaves      | 1076385        | 1075777        | -0.0564853653665
mcf         | 778835         | 778835         | 0.0
gromacs     | 2348746        | 2348106        | -0.0272485828608
wrf         | 7742741        | 7739637        | -0.040089162223
cactusADM   | 2820689        | 2820049        | -0.0226894918227
zeusmp      | 1676605        | 1675997        | -0.0362637592039
sphinx      | 1379854        | 1379822        | -0.00231908593228
omnetpp     | 2872183        | 2871511        | -0.0233968378756
dealII      | 2514404        | 2512324        | -0.0827233809682
povray      | 3212579        | 3211395        | -0.0368551248078
perlbench   | 3123490        | 3122178        | -0.0420042964761
calculix    | 3914026        | 3909866        | -0.106284424273
bzip2       | 887974         | 887910         | -0.00720741823522
tonto       | 7213573        | 7206981        | -0.0913832853705

SNB and IVB

Benchmark   | Trunk          | Trunk w/ patch | Diff, %
soplex      | 1969317        | 1968741        | -0.029248719226
hmmer       | 1252815        | 1252655        | -0.0127712391694
Xalan       | 6517380        | 6501828        | -0.238623495945
gcc         | 5634249        | 5631817        | -0.0431645814731
gamess      | 16555117       | 16525197       | -0.18072961973
h264ref     | 2062507        | 2060779        | -0.0837815338324
libquantum  | 915085         | 915085         | 0.0
astar       | 957025         | 956993         | -0.00334369530577
gobmk       | 3010535        | 3009991        | -0.0180698779453
namd        | 1505805        | 1505773        | -0.00212510916088
lbm         | 775733         | 775733         | 0.0
milc        | 1140567        | 1140471        | -0.00841686634805
sjeng       | 997235         | 996627         | -0.0609685781185
GemsFDTD    | 2451645        | 2450653        | -0.0404626281537
leslie3d    | 1479125        | 1478581        | -0.0367785008028
bwaves      | 1072497        | 1071953        | -0.0507227526044
mcf         | 778803         | 778803         | 0.0
gromacs     | 2322770        | 2322130        | -0.0275533091955
wrf         | 8092645        | 8090693        | -0.0241206675938
cactusADM   | 2808633        | 2807993        | -0.0227868860047
zeusmp      | 1733717        | 1733077        | -0.0369149059506
sphinx      | 1388206        | 1388174        | -0.00230513338798
omnetpp     | 2875179        | 2874475        | -0.0244854320374
dealII      | 2527560        | 2525576        | -0.078494674706
povray      | 3164931        | 3163971        | -0.0303324148299
perlbench   | 3123690        | 3122346        | -0.0430260365145
calculix    | 3905210        | 3901114        | -0.104885524722
bzip2       | 888262         | 888230         | -0.00360254069183
tonto       | 7210917        | 7204101        | -0.0945233456438

WSM

Benchmark   | Trunk          | Trunk w/ patch | Diff, %
soplex      | 1972141        | 1971597        | -0.0275842345958
hmmer       | 1243935        | 1243775        | -0.0128624084056
Xalan       | 6480260        | 6464676        | -0.240484178104
gcc         | 5614945        | 5612481        | -0.0438828875439
gamess      | 16432005       | 16401829       | -0.183641618902
h264ref     | 1998315        | 1996715        | -0.0800674568324
libquantum  | 915597         | 915597         | 0.0
astar       | 957065         | 957033         | -0.00334355555788
gobmk       | 3004111        | 3003599        | -0.0170433116486
namd        | 1523745        | 1523713        | -0.00210008892564
lbm         | 776589         | 776589         | 0.0
milc        | 1148391        | 1148295        | -0.00835952214882
sjeng       | 994883         | 994275         | -0.0611127137563
GemsFDTD    | 2353397        | 2352405        | -0.0421518341359
leslie3d    | 1472469        | 1471925        | -0.0369447506195
bwaves      | 1075393        | 1074817        | -0.0535618141461
mcf         | 778771         | 778771         | 0.0
gromacs     | 2342426        | 2341722        | -0.0300543112141
wrf         | 7549709        | 7546605        | -0.0411141674467
cactusADM   | 2798905        | 2798233        | -0.0240093893862
zeusmp      | 1672901        | 1672293        | -0.0363440514412
sphinx      | 1377542        | 1377446        | -0.0069689345225
omnetpp     | 2867139        | 2866467        | -0.023437998646
dealII      | 2512444        | 2510396        | -0.0815142546461
povray      | 3208771        | 3207747        | -0.0319125297505
perlbench   | 3120402        | 3119122        | -0.0410203557106
calculix    | 3878210        | 3874082        | -0.106440858025
bzip2       | 885710         | 885678         | -0.00361292070769
tonto       | 7185589        | 7178965        | -0.0921845098572

HSW

Benchmark   | Trunk          | Trunk w/ patch | Diff, %
soplex      | 1963401        | 1962761        | -0.0325964996453
hmmer       | 1252327        | 1252199        | -0.0102209726373
Xalan       | 6526735        | 6511023        | -0.240732923889
gcc         | 5688321        | 5685825        | -0.0438793802249
gamess      | 17467069       | 17437245       | -0.170744158622
h264ref     | 2080675        | 2078915        | -0.084587934204
libquantum  | 915205         | 915205         | 0.0
astar       | 956325         | 956293         | -0.00334614278619
gobmk       | 3023167        | 3022591        | -0.0190528674069
namd        | 1516953        | 1516889        | -0.00421898371274
lbm         | 775733         | 775733         | 0.0
milc        | 1150343        | 1150247        | -0.00834533699948
sjeng       | 999275         | 999627         | 0.0352255385154
GemsFDTD    | 2430581        | 2429589        | -0.0408132870289
leslie3d    | 1474005        | 1473493        | -0.0347352960132
bwaves      | 1071921        | 1071313        | -0.0567205978799
mcf         | 778867         | 778867         | 0.0
gromacs     | 2336282        | 2335578        | -0.0301333486283
wrf         | 8055589        | 8053637        | -0.0242316235349
cactusADM   | 2868025        | 2867353        | -0.0234307581001
zeusmp      | 1728405        | 1727797        | -0.0351769405897
sphinx      | 1390126        | 1390094        | -0.00230194960744
omnetpp     | 2848923        | 2848091        | -0.029204018501
dealII      | 2488573        | 2486429        | -0.0861537917513
povray      | 3146543        | 3147855        | 0.0416965539642
perlbench   | 3120914        | 3119666        | -0.039988285483
calculix    | 4007986        | 4004050        | -0.0982039358421
bzip2       | 890390         | 890326         | -0.00718786149889
tonto       | 7299565        | 7293037        | -0.0894299865814


DATA SEGMENTS

SLM

Benchmark   | Trunk          | Trunk w/ patch | Diff, %
soplex      | 24360          | 24168          | -0.788177339901
hmmer       | 9992           | 9672           | -3.20256204964
Xalan       | 160712         | 160360         | -0.219025337249
gcc         | 12696          | 12312          | -3.02457466919
gamess      | 74668          | 70092          | -6.12846199175
h264ref     | 7960           | 7800           | -2.01005025126
libquantum  | 6280           | 6280           | 0.0
astar       | 10120          | 10024          | -0.948616600791
gobmk       | 2115816        | 2004488        | -5.26170517663
namd        | 10280          | 10152          | -1.24513618677
lbm         | 6264           | 6264           | 0.0
milc        | 6728           | 6632           | -1.42687277051
sjeng       | 6488           | 6456           | -0.493218249075
GemsFDTD    | 7724           | 7532           | -2.48575867426
leslie3d    | 7320           | 7256           | -0.874316939891
bwaves      | 7336           | 7208           | -1.74482006543
mcf         | 6296           | 6296           | 0.0
gromacs     | 13960          | 13192          | -5.50143266476
wrf         | 21244          | 20796          | -2.10883072868
cactusADM   | 8348           | 8316           | -0.383325347389
zeusmp      | 7416           | 7288           | -1.7259978425
sphinx      | 8840           | 8808           | -0.361990950226
omnetpp     | 31976          | 31368          | -1.90142606955
dealII      | 26744          | 26584          | -0.598265031409
povray      | 24152          | 22712          | -5.96223915204
perlbench   | 21384          | 20520          | -4.0404040404
calculix    | 8428           | 8236           | -2.27812055055
bzip2       | 6248           | 6248           | 0.0
tonto       | 143496         | 143272         | -0.156101912248

SNB and IVB

Benchmark   | Trunk          | Trunk w/ patch | Diff, %
soplex      | 24344          | 24184          | -0.657246138679
hmmer       | 9992           | 9672           | -3.20256204964
Xalan       | 160696         | 160376         | -0.199133768109
gcc         | 12680          | 12296          | -3.02839116719
gamess      | 74668          | 70124          | -6.08560561419
h264ref     | 7944           | 7784           | -2.01409869084
libquantum  | 6280           | 6280           | 0.0
astar       | 10168          | 10040          | -1.25885129819
gobmk       | 2115816        | 2004488        | -5.26170517663
namd        | 10280          | 10152          | -1.24513618677
lbm         | 6264           | 6264           | 0.0
milc        | 6744           | 6648           | -1.42348754448
sjeng       | 6488           | 6456           | -0.493218249075
GemsFDTD    | 7740           | 7548           | -2.48062015504
leslie3d    | 7320           | 7256           | -0.874316939891
bwaves      | 7352           | 7224           | -1.74102285092
mcf         | 6296           | 6296           | 0.0
gromacs     | 13976          | 13208          | -5.49513451631
wrf         | 21228          | 20876          | -1.65818729979
cactusADM   | 8348           | 8316           | -0.383325347389
zeusmp      | 7416           | 7288           | -1.7259978425
sphinx      | 8840           | 8808           | -0.361990950226
omnetpp     | 31992          | 31384          | -1.90047511878
dealII      | 26776          | 26584          | -0.71706005378
povray      | 24184          | 22712          | -6.08666887198
perlbench   | 21384          | 20520          | -4.0404040404
calculix    | 8444           | 8252           | -2.27380388441
bzip2       | 6248           | 6248           | 0.0
tonto       | 143496         | 143272         | -0.156101912248

WSM

Benchmark   | Trunk          | Trunk w/ patch | Diff, %
soplex      | 24328          | 24168          | -0.657678395265
hmmer       | 10008          | 9688           | -3.19744204636
Xalan       | 160696         | 160376         | -0.199133768109
gcc         | 12680          | 12296          | -3.02839116719
gamess      | 74668          | 70092          | -6.12846199175
h264ref     | 7944           | 7784           | -2.01409869084
libquantum  | 6280           | 6280           | 0.0
astar       | 10120          | 10024          | -0.948616600791
gobmk       | 2115816        | 2004488        | -5.26170517663
namd        | 10264          | 10168          | -0.935307872175
lbm         | 6248           | 6248           | 0.0
milc        | 6728           | 6632           | -1.42687277051
sjeng       | 6472           | 6440           | -0.494437577256
GemsFDTD    | 7740           | 7548           | -2.48062015504
leslie3d    | 7320           | 7256           | -0.874316939891
bwaves      | 7336           | 7208           | -1.74482006543
mcf         | 6296           | 6296           | 0.0
gromacs     | 13976          | 13208          | -5.49513451631
wrf         | 21228          | 20780          | -2.11042019974
cactusADM   | 8348           | 8316           | -0.383325347389
zeusmp      | 7400           | 7272           | -1.72972972973
sphinx      | 8840           | 8808           | -0.361990950226
omnetpp     | 32024          | 31384          | -1.99850112416
dealII      | 26776          | 26584          | -0.71706005378
povray      | 24184          | 22712          | -6.08666887198
perlbench   | 21400          | 20536          | -4.03738317757
calculix    | 8428           | 8236           | -2.27812055055
bzip2       | 6248           | 6248           | 0.0
tonto       | 143512         | 143288         | -0.156084508613

HSW

Benchmark   | Trunk          | Trunk w/ patch | Diff, %
soplex      | 24360          | 24168          | -0.788177339901
hmmer       | 9992           | 9672           | -3.20256204964
Xalan       | 160728         | 160376         | -0.219003533921
gcc         | 12680          | 12296          | -3.02839116719
gamess      | 74684          | 70140          | -6.0843018585
h264ref     | 7944           | 7784           | -2.01409869084
libquantum  | 6280           | 6280           | 0.0
astar       | 10168          | 10040          | -1.25885129819
gobmk       | 2115832        | 2004504        | -5.26166538742
namd        | 10264          | 10168          | -0.935307872175
lbm         | 6264           | 6264           | 0.0
milc        | 6728           | 6632           | -1.42687277051
sjeng       | 6472           | 6440           | -0.494437577256
GemsFDTD    | 7740           | 7548           | -2.48062015504
leslie3d    | 7320           | 7256           | -0.874316939891
bwaves      | 7352           | 7224           | -1.74102285092
mcf         | 6296           | 6296           | 0.0
gromacs     | 13976          | 13208          | -5.49513451631
wrf         | 21228          | 20876          | -1.65818729979
cactusADM   | 8348           | 8316           | -0.383325347389
zeusmp      | 7416           | 7288           | -1.7259978425
sphinx      | 8840           | 8808           | -0.361990950226
omnetpp     | 32040          | 31368          | -2.09737827715
dealII      | 26776          | 26584          | -0.71706005378
povray      | 24184          | 22712          | -6.08666887198
perlbench   | 21400          | 20536          | -4.03738317757
calculix    | 8444           | 8252           | -2.27380388441
bzip2       | 6264           | 6264           | 0.0
tonto       | 143432         | 143240         | -0.13386134196


Thanks,
Petr



More information about the Gcc-patches mailing list