On Tue, 25 Apr 2023 11:59:30 GMT, Jatin Bhateja <[email protected]> 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