< prev index next >

src/hotspot/share/opto/type.cpp

Print this page
rev 47413 : imported patch vector_fix

*** 650,672 **** // get_zero_type() should not happen for T_CONFLICT _zero_type[T_CONFLICT]= NULL; // Vector predefined types, it needs initialized _const_basic_type[]. - if (Matcher::vector_size_supported(T_BYTE,4)) { TypeVect::VECTS = TypeVect::make(T_BYTE,4); - } - if (Matcher::vector_size_supported(T_FLOAT,2)) { TypeVect::VECTD = TypeVect::make(T_FLOAT,2); ! } ! if (Matcher::vector_size_supported(T_FLOAT,4)) { TypeVect::VECTX = TypeVect::make(T_FLOAT,4); } ! if (Matcher::vector_size_supported(T_FLOAT,8)) { TypeVect::VECTY = TypeVect::make(T_FLOAT,8); } ! if (Matcher::vector_size_supported(T_FLOAT,16)) { TypeVect::VECTZ = TypeVect::make(T_FLOAT,16); } mreg2type[Op_VecS] = TypeVect::VECTS; mreg2type[Op_VecD] = TypeVect::VECTD; mreg2type[Op_VecX] = TypeVect::VECTX; --- 650,668 ---- // get_zero_type() should not happen for T_CONFLICT _zero_type[T_CONFLICT]= NULL; // Vector predefined types, it needs initialized _const_basic_type[]. TypeVect::VECTS = TypeVect::make(T_BYTE,4); TypeVect::VECTD = TypeVect::make(T_FLOAT,2); ! if (UseSSE >= 1) { // SSE TypeVect::VECTX = TypeVect::make(T_FLOAT,4); } ! if (UseAVX >= 1) { // AVX + AVX2 TypeVect::VECTY = TypeVect::make(T_FLOAT,8); } ! if (UseAVX >= 3) { // AVX_512 TypeVect::VECTZ = TypeVect::make(T_FLOAT,16); } mreg2type[Op_VecS] = TypeVect::VECTS; mreg2type[Op_VecD] = TypeVect::VECTD; mreg2type[Op_VecX] = TypeVect::VECTX;
< prev index next >