RFR: 8311862: RISC-V: small improvements to shift immediate instructions [v4]
Ilya Gavrilin
duke at openjdk.org
Fri Jul 14 14:38:45 UTC 2023
> Please review this small change for slli srli and srai
> 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).
>
> 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 whitespaces in assembler_riscv.hpp
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/14823/files
- new: https://git.openjdk.org/jdk/pull/14823/files/6a35ea6f..c7b04164
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=14823&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=14823&range=02-03
Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/14823.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14823/head:pull/14823
PR: https://git.openjdk.org/jdk/pull/14823
More information about the hotspot-dev
mailing list