< prev index next >
src/hotspot/share/opto/vectornode.cpp
Print this page
rev 50140 : Vector cast support
*** 293,302 ****
--- 293,312 ----
case Op_URShiftVI:
case Op_URShiftVL:
case Op_AndV:
case Op_OrV:
case Op_XorV:
+ case Op_VectorBlend:
+ case Op_VectorReinterpret:
+ case Op_VectorTest:
+ case Op_VectorMaskCmp:
+ case Op_VectorCastB2X:
+ case Op_VectorCastS2X:
+ case Op_VectorCastI2X:
+ case Op_VectorCastL2X:
+ case Op_VectorCastF2X:
+ case Op_VectorCastD2X:
// When op is already vectorized, return that directly.
return sopc;
default:
return 0; // Unimplemented
*** 482,495 ****
case Op_AndV: return new AndVNode(n1, n2, vt);
case Op_OrV: return new OrVNode (n1, n2, vt);
case Op_XorV: return new XorVNode(n1, n2, vt);
! case Op_ConvertVF2VD:
! if (bt == T_DOUBLE) {
! return new ConvertVF2VDNode(n1, vt);
! }
default:
fatal("Missed vector creation for '%s'", NodeClassNames[vopc]);
return NULL;
}
}
--- 492,508 ----
case Op_AndV: return new AndVNode(n1, n2, vt);
case Op_OrV: return new OrVNode (n1, n2, vt);
case Op_XorV: return new XorVNode(n1, n2, vt);
! case Op_VectorCastB2X: return new VectorCastB2XNode(n1, vt);
! case Op_VectorCastS2X: return new VectorCastS2XNode(n1, vt);
! case Op_VectorCastI2X: return new VectorCastI2XNode(n1, vt);
! case Op_VectorCastL2X: return new VectorCastL2XNode(n1, vt);
! case Op_VectorCastF2X: return new VectorCastF2XNode(n1, vt);
! case Op_VectorCastD2X: return new VectorCastD2XNode(n1, vt);
!
default:
fatal("Missed vector creation for '%s'", NodeClassNames[vopc]);
return NULL;
}
}
< prev index next >