RFR: 8290917: x86: Memory-operand arithmetic instructions have too low costs [v5]

Quan Anh Mai duke at openjdk.org
Fri Sep 16 05:34:00 UTC 2022


On Thu, 15 Sep 2022 16:45:26 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   divL_10
>
> Please also add testing (JMH) for shifts by 1 which you removed. And for `sub_*_imm` instructions.

@vnkozlov I have added cases for shifts by 1 and immediate subtractions as you suggested.

                                                   Before             After
    Benchmark                      Mode  Cnt    Score    Error    Score    Error  Units
    BasicRules.add_mem_con         avgt   15  202.913 ±  4.915  210.006 ±  9.775  ns/op
    BasicRules.andL_rReg_imm255    avgt   15  185.073 ±  2.768  187.580 ±  4.930  ns/op
    BasicRules.andL_rReg_imm65535  avgt   15  184.056 ±  2.315  186.884 ±  2.198  ns/op
    BasicRules.divL_10             avgt   15  644.609 ±  8.740  654.411 ± 11.558  ns/op
    BasicRules.salI_rReg_1         avgt   15  183.385 ±  2.720  181.688 ±  1.435  ns/op
    BasicRules.salL_rReg_1         avgt   15  183.192 ±  2.597  184.337 ±  7.378  ns/op
    BasicRules.sarI_rReg_1         avgt   15  184.174 ±  2.646  184.984 ±  6.895  ns/op
    BasicRules.sarL_rReg_1         avgt   15  182.288 ±  2.012  182.062 ±  2.178  ns/op
    BasicRules.shrI_rReg_1         avgt   15  182.465 ±  2.242  180.915 ±  1.162  ns/op
    BasicRules.shrL_rReg_1         avgt   15  183.147 ±  2.277  181.170 ±  1.567  ns/op
    BasicRules.subI_rReg_imm       avgt   15  200.593 ±  2.279  199.828 ±  2.255  ns/op
    BasicRules.subL_rReg_imm       avgt   15  185.141 ±  5.717  183.781 ±  3.173  ns/op

-------------

PR: https://git.openjdk.org/jdk/pull/9791


More information about the hotspot-compiler-dev mailing list