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