RFR: 8303762: [vectorapi] Intrinsification of Vector.slice [v6]
Quan Anh Mai
qamai at openjdk.org
Fri May 5 12:31:26 UTC 2023
On Tue, 25 Apr 2023 11:59:30 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> src/hotspot/share/opto/vectorIntrinsics.cpp line 1914:
>>
>>> 1912: if (vector_klass->const_oop() == NULL || elem_klass->const_oop() == NULL ||
>>> 1913: !vlen->is_con() || !origin_type->is_con()) {
>>> 1914: if (C->print_intrinsics()) {
>>
>> Hi @merykitty , your inline expander is not handling non-constant origin case, this will introduce performance regressions w.r.t to existing implementation.
>
> You can extend expander to generate IR corresponding to fallback implementation to handle non-constant origin case.
Yes it seems that `ForceInline` is not respected if intrinsification fails, which results in regressions. I will try to look at both approaches, I kind of like falling back to Java code more since it is cleaner and avoids duplication between Hotspot intrinsic kit and Java implementation, though.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/12909#discussion_r1186033536
More information about the core-libs-dev
mailing list