RFR: 8350866: [x86] Add C1 intrinsics for CRC32-C [v3]

Martin Doerr mdoerr at openjdk.org
Mon Mar 10 13:43:11 UTC 2025


On Mon, 10 Mar 2025 12:58:39 GMT, David Linus Briemann <duke at openjdk.org> wrote:

>> 8350866: [x86] Add C1 intrinsics for CRC32-C
>
> David Linus Briemann has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fix typo again

Looks correct. Thanks for the contribution!

src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp line 1172:

> 1170:         __ convert(Bytecodes::_i2l, index, tmp);
> 1171:         index = tmp;
> 1172:         __ add(index, LIR_OprFact::intptrConst(offset), index);

I don't think we need this addition. LIR_Address can take both on x86: https://github.com/openjdk/jdk/blob/e90b6bdb875315de6b962e2c7d36606d9a593eb9/src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp#L1104

src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp line 1193:

> 1191:       __ move(len, arg3);
> 1192: 
> 1193:       __ call_runtime_leaf(StubRoutines::updateBytesCRC32C(), LIR_OprFact::illegalOpr, result_reg, cc->args());

Seems like x86 typically uses `getThreadTemp()` instead of `LIR_OprFact::illegalOpr`.

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

PR Review: https://git.openjdk.org/jdk/pull/23826#pullrequestreview-2670980596
PR Review Comment: https://git.openjdk.org/jdk/pull/23826#discussion_r1987299953
PR Review Comment: https://git.openjdk.org/jdk/pull/23826#discussion_r1987301723


More information about the hotspot-compiler-dev mailing list