RFR: 8336860: x86: Change integer src operand for CMoveL of 0 and 1 to long [v2]
Jasmine Karthikeyan
jkarthikeyan at openjdk.org
Mon Jul 22 18:37:57 UTC 2024
> Hi all,
> This patch fixes `cmovL_imm_01*` instructions matching against an integer immediate 1 instead of a long immediate 1. I noticed while looking at the backend implementation of CMove that the rules specify `immI_1` instead of `immL1`, which means that the instructions can't be matched and instead falls through to the base case. I added a small benchmark and got these results:
>
> Baseline Patch Improvement
> Benchmark Mode Cnt Score Error Units Score Error Units
> BasicRules.cmovL_imm_01 avgt 15 259.073 ± 5.806 ns/op 231.108 ± 2.730 ns/op (+ 11.41%)
>
> Thoughts and reviews would be appreciated!
Jasmine Karthikeyan has updated the pull request incrementally with one additional commit since the last revision:
Move benchmark to vm.compiler
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/20275/files
- new: https://git.openjdk.org/jdk/pull/20275/files/02f8d0f7..586d7703
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=20275&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=20275&range=00-01
Stats: 29 lines in 2 files changed: 19 ins; 8 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/20275.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/20275/head:pull/20275
PR: https://git.openjdk.org/jdk/pull/20275
More information about the hotspot-compiler-dev
mailing list