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