[vector] RFR: C2: VectorIntrinsics::reinterpret() computes wrong resulting box type for vector masks
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Tue Apr 24 01:01:35 UTC 2018
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