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