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