RFR: 8247645: ChaCha20 intrinsics [v3]

Jamil Nimeh jnimeh at openjdk.org
Tue Nov 15 14:57:30 UTC 2022


On Tue, 1 Nov 2022 18:38:21 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Jamil Nimeh has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   replace hi/lo word shuffles and left-right shift/or operations for vpshufd on byte-aligned rotations
>
> src/hotspot/share/opto/library_call.cpp line 6913:
> 
>> 6911:   Node* cc20Blk = make_runtime_call(RC_LEAF|RC_NO_FP,
>> 6912:                                   OptoRuntime::chacha20Block_Type(),
>> 6913:                                   stubAddr, stubName, TypePtr::BOTTOM,
> 
> BTW it can be further improved: the stub reads from `int[]` and writes into `byte[]` while `TypePtr::BOTTOM` signals both in and out memory state is wide. `GraphKit::make_runtime_call()` doesn't support it yet, but if you pass input and output address types separately, it should be possible to turn both into narrow memory and represent the runtime call accordingly (see `wide_in`/`wide_out`-related code in `GraphKit::make_runtime_call()`).  Also, it can be done as a follow-up enhancement later.

I think I'd like to handle this as a follow-on enhancement.

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

PR: https://git.openjdk.org/jdk/pull/7702


More information about the security-dev mailing list