On Tue, 25 Apr 2023 11:59:30 GMT, Jatin Bhateja <jbhat...@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

Reply via email to