[vector] RFR: C2: VectorIntrinsics::reinterpret() computes wrong resulting box type for vector masks
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Wed Apr 25 05:45:09 UTC 2018
Thanks, pushed.
Best regards,
Vladimir Ivanov
On 4/24/18 11:24, Lupusoru, Razvan A wrote:
> Good catch. Looks good to me.
>
> --Razvan
>
> -----Original Message-----
> From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Ivanov
> Sent: Monday, April 23, 2018 6:02 PM
> To: panama-dev at openjdk.java.net
> Subject: [vector] RFR: C2: VectorIntrinsics::reinterpret() computes wrong resulting box type for vector masks
>
> LibraryCallKit::inline_vector_reinterpret() uses wrong element type to compute box type for resulting vector mask.
>
> Best regards,
> Vladimir Ivanov
>
> diff --git a/src/hotspot/share/opto/library_call.cpp
> b/src/hotspot/share/opto/library_call.cpp
> --- a/src/hotspot/share/opto/library_call.cpp
> +++ b/src/hotspot/share/opto/library_call.cpp
> @@ -7791,7 +7791,7 @@
> if (Type::cmp(src_type, dst_type) != 0) {
> op = _gvn.transform(new VectorReinterpretNode(op, src_type, dst_type));
> }
> - ciKlass* vbox_klass_to =
> get_exact_klass_for_vector_box(vbox_klass_from, elem_bt_to,
> + ciKlass* vbox_klass_to =
> get_exact_klass_for_vector_box(vbox_klass_from, elem_type_to->basic_type(),
> num_elem_to, is_mask ? VECAPI_MASK : VECAPI_VECTOR);
> const TypeInstPtr* vbox_type_to =
> TypeInstPtr::make_exact(TypePtr::NotNull, vbox_klass_to);
> Node* vbox = box_vector(op, vbox_type_to, elem_bt_to, num_elem_to);
>
More information about the panama-dev
mailing list