RFR: 8311862: RISC-V: small improvements to slli [v2]
Ludovic Henry
luhenry at openjdk.org
Thu Jul 13 12:44:12 UTC 2023
On Wed, 12 Jul 2023 07:35:20 GMT, Ilya Gavrilin <duke at openjdk.org> wrote:
>> Please review this small change for slli and slli.uw
>> slli change allows to replace slli Rd, Rs, 0 with addi Rd, Rs, 0 (and no operation emited if Rd == Rs)
>> addi with 0 has higher chances to be just a register renaming and not utilise ALU at all
>> We have observed small positive effect on hifive (and no change on thead).
>> Also this patch changes slli.uw and allows it to be used without additional check for UseZba, also providing fallback when Zba is not available
>> testing: tier1 and tier2 on hifive, also hotspot/jtreg/compiler/intrinsics/string tests on Qemu with UseZba
>>
>> performance on hifive, before:
>> | Benchmark | Mode | Cnt | Score | | Error | Units |
>> |:-----------------------------------:|:----:|:---:|:--------:|:-:|:-------:|:-----:|
>> | StringIndexOf.advancedWithShortSub1 | avgt | 25 | 4035.143 | ± | 191.262 | ns/op |
>> | StringIndexOf.advancedWithShortSub2 | avgt | 25 | 1145.807 | ± | 14.610 | ns/op |
>>
>> with patch:
>> | Benchmark | Mode | Cnt | Score | | Error | Units |
>> |:-----------------------------------:|:----:|:---:|:--------:|:-:|:-------:|:-----:|
>> | StringIndexOf.advancedWithShortSub1 | avgt | 25 | 3613.943 | ± | 178.153 | ns/op |
>> | StringIndexOf.advancedWithShortSub2 | avgt | 25 | 923.169 | ± | 47.123| ns/op |
>
> Ilya Gavrilin has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix typo in macroAssembler_riscv.cpp
Marked as reviewed by luhenry (Committer).
-------------
PR Review: https://git.openjdk.org/jdk/pull/14823#pullrequestreview-1528350707
More information about the hotspot-dev
mailing list