VectorAPI Scatter Gather Intrinsic Support
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Mon Dec 3 19:54:25 UTC 2018
One more question:
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template:
+ VectorIntrinsics.storeWithMap($vectortype$.class, $type$.class,
LENGTH,
+ a, Unsafe.ARRAY_$TYPE$_BASE_OFFSET,
vecInd, vecInd.getClass(),
Why do you need vecInd class in the intrinsic?
My main concern with proposed code shape is there are no guarantees it's
a compile-time constant. And those special cases on Java side for
Long64/Double64 only complicates the picture. Moreover, on C2 side it
turns out it's optional:
src/hotspot/share/opto/library_call.cpp:
+bool LibraryCallKit::inline_vector_gather_scatter(bool is_scatter) {
...
+ const TypeInstPtr* vector_idx_klass =
gvn().type(argument(7))->is_instptr();
...
+ ciKlass* vbox_idx_klass = NULL;
+ if (vector_idx_klass->const_oop() == NULL) {
+ vbox_idx_klass =
elem_klass->const_oop()->as_instance()->java_lang_Class_klass();
+ } else {
+ vbox_idx_klass =
vector_idx_klass->const_oop()->as_instance()->java_lang_Class_klass();
+ }
So, why not simply get rid of it?
Best regards,
Vladimir Ivanov
On 30/11/2018 18:19, Rukmannagari, Shravya wrote:
> Hi All,
>
> I would like to contribute a patch that adds scatter and gather support in Java for int, float, long and double datatypes.
>
>
>
> Could you please review the patch here:
>
> http://cr.openjdk.java.net/~srukmannagar/VectorAPI_ScatterGather/webrev.00/
>
>
>
> Thanks,
>
> Shravya.
>
>
More information about the panama-dev
mailing list