This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.


On Thu, May 22, 2014 at 2:01 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Hello,
> On 20 May 08:24, H.J. Lu wrote:
>> ABI alignment should be sufficient for correctness. Bigger alignments
>> are supposed to give better performance.  Can you try this patch on
>> HSW and SLM to see if it has any impact on performance?
>
> Here is perf. data of your patch.
>
> Only HSW so far
>
> HSW, 64 bits, base
>
> Test Previous Current Ratio(%)
> 400.perlbench     37.7000    37.7000 +0%
> 401.bzip2         24.8000    24.7000 -0.40%
> 403.gcc           35.1000    35.2000 +0.28%
> 429.mcf           41.7000    42.0000 +0.71%
> 445.gobmk         26.9000    27.0000 +0.37%
> 456.hmmer         27.2000    27.2000 +0%
> 458.sjeng         30.2000    30.1000 -0.33%
> 462.libquantum    77.4000    76.7000 -0.90%
> 464.h264ref       52.5000    52.8000 +0.57%
> 471.omnetpp       23.8000    23.7000 -0.42%
> 473.astar         23.2000    23.1000 -0.43%
> 483.xalancbmk     39.8000    40.1000 +0.75%
> 410.bwaves        78.4000    78.5000 +0.12%
> 416.gamess        33.9000    33.9000 +0%
> 433.milc          34.7000    34.8000 +0.28%
> 434.zeusmp        38.6000    38.4000 -0.51%
> 435.gromacs       26.9000    27.0000 +0.37%
> 436.cactusADM     54.7000    62.0000 +13.34%
> 437.leslie3d      45.3000    45.3000 +0%
> 444.namd          27.2000    27.1000 -0.36%
> 447.dealII        56.7000    56.7000 +0%
> 450.soplex        39.3000    39.3000 +0%
> 453.povray        49.0000    49.1000 +0.20%
> 454.calculix      28.8000    29.3000 +1.73%
> 459.GemsFDTD      38.9000    39.0000 +0.25%
> 465.tonto         23.1000    23.3000 +0.86%
> 470.lbm           55.3000    55.6000 +0.54%
> 481.wrf           40.8000    40.8000 +0%
> 482.sphinx3       47.8000    47.9000 +0.20%
>
> HSW, 64 bits, o2
>
> Test Previous Current Ratio(%)
> 400.perlbench     39.7000    39.7000 +0%
> 401.bzip2         25.1000    25.1000 +0%
> 403.gcc           33.7000    33.7000 +0%
> 429.mcf           40.1000    39.9000 -0.49%
> 445.gobmk         26.5000    26.4000 -0.37%
> 456.hmmer         24.8000    24.8000 +0%
> 458.sjeng         28.4000    28.5000 +0.35%
> 462.libquantum    74.4000    74.4000 +0%
> 464.h264ref       50.1000    50.3000 +0.39%
> 471.omnetpp       22.6000    22.5000 -0.44%
> 473.astar         20.7000    21.0000 +1.44%
> 483.xalancbmk     37.0000    37.4000 +1.08%
> 410.bwaves        60.1000    60.1000 +0%
> 416.gamess        35.5000    35.4000 -0.28%
> 433.milc          29.9000    29.8000 -0.33%
> 434.zeusmp        34.8000    34.6000 -0.57%
> 435.gromacs       27.4000    27.5000 +0.36%
> 436.cactusADM     32.3000    33.8000 +4.64%
> 437.leslie3d      32.6000    32.6000 +0%
> 444.namd          26.9000    26.9000 +0%
> 447.dealII        45.2000    45.1000 -0.22%
> 450.soplex        42.5000    42.6000 +0.23%
> 453.povray        45.9000    46.1000 +0.43%
> 454.calculix      12.9000    12.9000 +0%
> 459.GemsFDTD      38.6000    38.7000 +0.25%
> 465.tonto         23.7000    23.8000 +0.42%
> 470.lbm           56.7000    56.7000 +0%
> 481.wrf           28.9000    28.9000 +0%
> 482.sphinx3       43.9000    43.8000 -0.22%
>

So extra alignment doesn't have any performance impact
on HSW with SPEC CPU 2006.  So the question is if using
alignment specified by ABI will cause any correctness issue.
I am concerned about the comment:

  /* GCC 4.8 and earlier used to incorrectly assume this alignment even
     for symbols from other compilation units or symbols that don't need
     to bind locally.  In order to preserve some ABI compatibility with
     those compilers, ensure we don't decrease alignment from what we
     used to assume.  */

Jakub,  will we into any correctness issue if ix86_data_alignment
always returns ABI alignment?


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]