< prev index next >

src/hotspot/share/ci/ciType.cpp

Print this page
rev 52233 : Add scalable shapes for Arm Scalable Vector Extension.
Summary: Add scalable vector shapes to support Arm SVE better.
Reviewed-by: duke


 161   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Species);
 162 }
 163 static bool is_float256mask(BasicType bt, vmSymbols::SID sid) {
 164   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Mask);
 165 }
 166 static bool is_float256(BasicType bt, vmSymbols::SID sid) {
 167   return is_float256vector(bt, sid) || is_float256species(bt, sid) || is_float256mask(bt, sid);
 168 }
 169 static bool is_float512vector(BasicType bt, vmSymbols::SID sid) {
 170   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector);
 171 }
 172 static bool is_float512species(BasicType bt, vmSymbols::SID sid) {
 173   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Species);
 174 }
 175 static bool is_float512mask(BasicType bt, vmSymbols::SID sid) {
 176   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Mask);
 177 }
 178 static bool is_float512(BasicType bt, vmSymbols::SID sid) {
 179   return is_float512vector(bt, sid) || is_float512species(bt, sid) || is_float512mask(bt, sid);
 180 }












 181 static bool is_float_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 182   return is_float64(bt, sid) || is_float128(bt, sid) || is_float256(bt, sid) || is_float512(bt, sid);
 183 }
 184 static bool is_double64vector(BasicType bt, vmSymbols::SID sid) {
 185   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector);
 186 }
 187 static bool is_double64species(BasicType bt, vmSymbols::SID sid) {
 188   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Species);
 189 }
 190 static bool is_double64mask(BasicType bt, vmSymbols::SID sid) {
 191   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Mask);
 192 }
 193 static bool is_double64(BasicType bt, vmSymbols::SID sid) {
 194   return is_double64vector(bt, sid) || is_double64species(bt, sid) || is_double64mask(bt, sid);
 195 }
 196 static bool is_double128vector(BasicType bt, vmSymbols::SID sid) {
 197   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector);
 198 }
 199 static bool is_double128species(BasicType bt, vmSymbols::SID sid) {
 200   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector_Double128Species);
 201 }
 202 static bool is_double128mask(BasicType bt, vmSymbols::SID sid) {


 212   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Species);
 213 }
 214 static bool is_double256mask(BasicType bt, vmSymbols::SID sid) {
 215   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Mask);
 216 }
 217 static bool is_double256(BasicType bt, vmSymbols::SID sid) {
 218   return is_double256vector(bt, sid) || is_double256species(bt, sid) || is_double256mask(bt, sid);
 219 }
 220 static bool is_double512vector(BasicType bt, vmSymbols::SID sid) {
 221   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector);
 222 }
 223 static bool is_double512species(BasicType bt, vmSymbols::SID sid) {
 224   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Species);
 225 }
 226 static bool is_double512mask(BasicType bt, vmSymbols::SID sid) {
 227   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Mask);
 228 }
 229 static bool is_double512(BasicType bt, vmSymbols::SID sid) {
 230   return is_double512vector(bt, sid) || is_double512species(bt, sid) || is_double512mask(bt, sid);
 231 }












 232 static bool is_double_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 233   return is_double64(bt, sid) || is_double128(bt, sid) || is_double256(bt, sid) || is_double512(bt, sid);
 234 }
 235 static bool is_int64vector(BasicType bt, vmSymbols::SID sid) {
 236   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector);
 237 }
 238 static bool is_int64species(BasicType bt, vmSymbols::SID sid) {
 239   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Species);
 240 }
 241 static bool is_int64mask(BasicType bt, vmSymbols::SID sid) {
 242   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Mask);
 243 }
 244 static bool is_int64(BasicType bt, vmSymbols::SID sid) {
 245   return is_int64vector(bt, sid) || is_int64species(bt, sid) || is_int64mask(bt, sid);
 246 }
 247 static bool is_int128vector(BasicType bt, vmSymbols::SID sid) {
 248   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector);
 249 }
 250 static bool is_int128species(BasicType bt, vmSymbols::SID sid) {
 251   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector_Int128Species);
 252 }
 253 static bool is_int128mask(BasicType bt, vmSymbols::SID sid) {


 263   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Species);
 264 }
 265 static bool is_int256mask(BasicType bt, vmSymbols::SID sid) {
 266   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Mask);
 267 }
 268 static bool is_int256(BasicType bt, vmSymbols::SID sid) {
 269   return is_int256vector(bt, sid) || is_int256species(bt, sid) || is_int256mask(bt, sid);
 270 }
 271 static bool is_int512vector(BasicType bt, vmSymbols::SID sid) {
 272   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector);
 273 }
 274 static bool is_int512species(BasicType bt, vmSymbols::SID sid) {
 275   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Species);
 276 }
 277 static bool is_int512mask(BasicType bt, vmSymbols::SID sid) {
 278   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Mask);
 279 }
 280 static bool is_int512(BasicType bt, vmSymbols::SID sid) {
 281   return is_int512vector(bt, sid) || is_int512species(bt, sid) || is_int512mask(bt, sid);
 282 }












 283 static bool is_int_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 284   return is_int64(bt, sid) || is_int128(bt, sid) || is_int256(bt, sid) || is_int512(bt, sid);
 285 }
 286 static bool is_long64vector(BasicType bt, vmSymbols::SID sid) {
 287   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector);
 288 }
 289 static bool is_long64species(BasicType bt, vmSymbols::SID sid) {
 290   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Species);
 291 }
 292 static bool is_long64mask(BasicType bt, vmSymbols::SID sid) {
 293   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Mask);
 294 }
 295 static bool is_long64(BasicType bt, vmSymbols::SID sid) {
 296   return is_long64vector(bt, sid) || is_long64species(bt, sid) || is_long64mask(bt, sid);
 297 }
 298 static bool is_long128vector(BasicType bt, vmSymbols::SID sid) {
 299   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector);
 300 }
 301 static bool is_long128species(BasicType bt, vmSymbols::SID sid) {
 302   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector_Long128Species);
 303 }
 304 static bool is_long128mask(BasicType bt, vmSymbols::SID sid) {


 314   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Species);
 315 }
 316 static bool is_long256mask(BasicType bt, vmSymbols::SID sid) {
 317   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Mask);
 318 }
 319 static bool is_long256(BasicType bt, vmSymbols::SID sid) {
 320   return is_long256vector(bt, sid) || is_long256species(bt, sid) || is_long256mask(bt, sid);
 321 }
 322 static bool is_long512vector(BasicType bt, vmSymbols::SID sid) {
 323   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector);
 324 }
 325 static bool is_long512species(BasicType bt, vmSymbols::SID sid) {
 326   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Species);
 327 }
 328 static bool is_long512mask(BasicType bt, vmSymbols::SID sid) {
 329   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Mask);
 330 }
 331 static bool is_long512(BasicType bt, vmSymbols::SID sid) {
 332   return is_long512vector(bt, sid) || is_long512species(bt, sid) || is_long512mask(bt, sid);
 333 }












 334 static bool is_long_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 335   return is_long64(bt, sid) || is_long128(bt, sid) || is_long256(bt, sid) || is_long512(bt, sid);
 336 }
 337 static bool is_byte64vector(BasicType bt, vmSymbols::SID sid) {
 338   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector);
 339 }
 340 static bool is_byte64species(BasicType bt, vmSymbols::SID sid) {
 341   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Species);
 342 }
 343 static bool is_byte64mask(BasicType bt, vmSymbols::SID sid) {
 344   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Mask);
 345 }
 346 static bool is_byte64(BasicType bt, vmSymbols::SID sid) {
 347   return is_byte64vector(bt, sid) || is_byte64species(bt, sid) || is_byte64mask(bt, sid);
 348 }
 349 static bool is_byte128vector(BasicType bt, vmSymbols::SID sid) {
 350   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector);
 351 }
 352 static bool is_byte128species(BasicType bt, vmSymbols::SID sid) {
 353   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector_Byte128Species);
 354 }
 355 static bool is_byte128mask(BasicType bt, vmSymbols::SID sid) {


 365   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Species);
 366 }
 367 static bool is_byte256mask(BasicType bt, vmSymbols::SID sid) {
 368   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Mask);
 369 }
 370 static bool is_byte256(BasicType bt, vmSymbols::SID sid) {
 371   return is_byte256vector(bt, sid) || is_byte256species(bt, sid) || is_byte256mask(bt, sid);
 372 }
 373 static bool is_byte512vector(BasicType bt, vmSymbols::SID sid) {
 374   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector);
 375 }
 376 static bool is_byte512species(BasicType bt, vmSymbols::SID sid) {
 377   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Species);
 378 }
 379 static bool is_byte512mask(BasicType bt, vmSymbols::SID sid) {
 380   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Mask);
 381 }
 382 static bool is_byte512(BasicType bt, vmSymbols::SID sid) {
 383   return is_byte512vector(bt, sid) || is_byte512species(bt, sid) || is_byte512mask(bt, sid);
 384 }












 385 static bool is_byte_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 386   return is_byte64(bt, sid) || is_byte128(bt, sid) || is_byte256(bt, sid) || is_byte512(bt, sid);
 387 }
 388 static bool is_short64vector(BasicType bt, vmSymbols::SID sid) {
 389   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector);
 390 }
 391 static bool is_short64species(BasicType bt, vmSymbols::SID sid) {
 392   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Species);
 393 }
 394 static bool is_short64mask(BasicType bt, vmSymbols::SID sid) {
 395   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Mask);
 396 }
 397 static bool is_short64(BasicType bt, vmSymbols::SID sid) {
 398   return is_short64vector(bt, sid) || is_short64species(bt, sid) || is_short64mask(bt, sid);
 399 }
 400 static bool is_short128vector(BasicType bt, vmSymbols::SID sid) {
 401   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector);
 402 }
 403 static bool is_short128species(BasicType bt, vmSymbols::SID sid) {
 404   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector_Short128Species);
 405 }
 406 static bool is_short128mask(BasicType bt, vmSymbols::SID sid) {


 416   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Species);
 417 }
 418 static bool is_short256mask(BasicType bt, vmSymbols::SID sid) {
 419   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Mask);
 420 }
 421 static bool is_short256(BasicType bt, vmSymbols::SID sid) {
 422   return is_short256vector(bt, sid) || is_short256species(bt, sid) || is_short256mask(bt, sid);
 423 }
 424 static bool is_short512vector(BasicType bt, vmSymbols::SID sid) {
 425   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector);
 426 }
 427 static bool is_short512species(BasicType bt, vmSymbols::SID sid) {
 428   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Species);
 429 }
 430 static bool is_short512mask(BasicType bt, vmSymbols::SID sid) {
 431   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Mask);
 432 }
 433 static bool is_short512(BasicType bt, vmSymbols::SID sid) {
 434   return is_short512vector(bt, sid) || is_short512species(bt, sid) || is_short512mask(bt, sid);
 435 }












 436 static bool is_short_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 437   return is_short64(bt, sid) || is_short128(bt, sid) || is_short256(bt, sid) || is_short512(bt, sid);
 438 }
 439 
 440 #define __ basic_type(), as_klass()->name()->sid()
 441 
 442 bool ciType::is_vectormask() {
 443   return basic_type() == T_OBJECT &&
 444       (is_float64mask(__) || is_float128mask(__) || is_float256mask(__) || is_float512mask(__) ||
 445        is_double64mask(__) || is_double128mask(__) || is_double256mask(__) || is_double512mask(__) ||
 446        is_int64mask(__) || is_int128mask(__) || is_int256mask(__) || is_int512mask(__) ||
 447        is_long64mask(__) || is_long128mask(__) || is_long256mask(__) || is_long512mask(__) ||
 448        is_byte64mask(__) || is_byte128mask(__) || is_byte256mask(__) || is_byte512mask(__) ||
 449        is_short64mask(__) || is_short128mask(__) || is_short256mask(__) || is_short512mask(__));
 450 }
 451 
 452 bool ciType::is_vectorapi_vector() {
 453   return is_float_vec_or_mask(__) ||
 454       is_double_vec_or_mask(__) ||
 455       is_int_vec_or_mask(__) ||
 456       is_long_vec_or_mask(__) ||
 457       is_byte_vec_or_mask(__) ||
 458       is_short_vec_or_mask(__);
 459 }
 460 
 461 int ciType::vectorapi_vector_size() {
 462   if ( is_double64(__) || is_long64(__)) return 1;
 463   if ( is_int64(__) || is_float64(__) || is_long128(__) || is_double128(__) ) return 2;
 464   if ( is_short64(__) || is_int128(__) || is_float128(__) || is_long256(__) || is_double256(__) ) return 4;
 465   if ( is_byte64(__) || is_short128(__) || is_int256(__) || is_float256(__) || is_long512(__) || is_double512(__) ) return 8;
 466   if ( is_byte128(__) || is_short256(__) || is_int512(__) || is_float512(__) ) return 16;
 467   if ( is_byte256(__) || is_short512(__) ) return 32;
 468   if ( is_byte512(__) ) return 64;






 469   return -1;
 470 }
 471 
 472 BasicType ciType::vectorapi_vector_bt() {
 473   if ( is_float_vec_or_mask(__) ) return T_FLOAT;
 474   if ( is_double_vec_or_mask(__) ) return T_DOUBLE;
 475   if ( is_int_vec_or_mask(__) ) return T_INT;
 476   if ( is_long_vec_or_mask(__) ) return T_LONG;
 477   if ( is_byte_vec_or_mask(__) ) return T_BYTE;
 478   if ( is_short_vec_or_mask(__) ) return T_SHORT;
 479   return T_VOID;
 480 }
 481 
 482 #undef __
 483 
 484 // ciReturnAddress
 485 //
 486 // This class represents the type of a specific return address in the
 487 // bytecodes.
 488 




 161   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Species);
 162 }
 163 static bool is_float256mask(BasicType bt, vmSymbols::SID sid) {
 164   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float256Vector_Float256Mask);
 165 }
 166 static bool is_float256(BasicType bt, vmSymbols::SID sid) {
 167   return is_float256vector(bt, sid) || is_float256species(bt, sid) || is_float256mask(bt, sid);
 168 }
 169 static bool is_float512vector(BasicType bt, vmSymbols::SID sid) {
 170   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector);
 171 }
 172 static bool is_float512species(BasicType bt, vmSymbols::SID sid) {
 173   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Species);
 174 }
 175 static bool is_float512mask(BasicType bt, vmSymbols::SID sid) {
 176   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Float512Vector_Float512Mask);
 177 }
 178 static bool is_float512(BasicType bt, vmSymbols::SID sid) {
 179   return is_float512vector(bt, sid) || is_float512species(bt, sid) || is_float512mask(bt, sid);
 180 }
 181 static bool is_float_scalable_vector(BasicType bt, vmSymbols::SID sid) {
 182   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_FloatScalableVector);
 183 }
 184 static bool is_float_scalable_species(BasicType bt, vmSymbols::SID sid) {
 185   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_FloatScalableVector_FloatScalableSpecies);
 186 }
 187 static bool is_float_scalable_mask(BasicType bt, vmSymbols::SID sid) {
 188   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_FloatScalableVector_FloatScalableMask);
 189 }
 190 static bool is_float_scalable(BasicType bt, vmSymbols::SID sid) {
 191   return is_float_scalable_vector(bt, sid) || is_float_scalable_species(bt, sid) || is_float_scalable_mask(bt, sid);
 192 }
 193 static bool is_float_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 194   return is_float64(bt, sid) || is_float128(bt, sid) || is_float256(bt, sid) || is_float512(bt, sid) || is_float_scalable(bt, sid);
 195 }
 196 static bool is_double64vector(BasicType bt, vmSymbols::SID sid) {
 197   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector);
 198 }
 199 static bool is_double64species(BasicType bt, vmSymbols::SID sid) {
 200   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Species);
 201 }
 202 static bool is_double64mask(BasicType bt, vmSymbols::SID sid) {
 203   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double64Vector_Double64Mask);
 204 }
 205 static bool is_double64(BasicType bt, vmSymbols::SID sid) {
 206   return is_double64vector(bt, sid) || is_double64species(bt, sid) || is_double64mask(bt, sid);
 207 }
 208 static bool is_double128vector(BasicType bt, vmSymbols::SID sid) {
 209   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector);
 210 }
 211 static bool is_double128species(BasicType bt, vmSymbols::SID sid) {
 212   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double128Vector_Double128Species);
 213 }
 214 static bool is_double128mask(BasicType bt, vmSymbols::SID sid) {


 224   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Species);
 225 }
 226 static bool is_double256mask(BasicType bt, vmSymbols::SID sid) {
 227   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double256Vector_Double256Mask);
 228 }
 229 static bool is_double256(BasicType bt, vmSymbols::SID sid) {
 230   return is_double256vector(bt, sid) || is_double256species(bt, sid) || is_double256mask(bt, sid);
 231 }
 232 static bool is_double512vector(BasicType bt, vmSymbols::SID sid) {
 233   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector);
 234 }
 235 static bool is_double512species(BasicType bt, vmSymbols::SID sid) {
 236   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Species);
 237 }
 238 static bool is_double512mask(BasicType bt, vmSymbols::SID sid) {
 239   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Double512Vector_Double512Mask);
 240 }
 241 static bool is_double512(BasicType bt, vmSymbols::SID sid) {
 242   return is_double512vector(bt, sid) || is_double512species(bt, sid) || is_double512mask(bt, sid);
 243 }
 244 static bool is_double_scalable_vector(BasicType bt, vmSymbols::SID sid) {
 245   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_DoubleScalableVector);
 246 }
 247 static bool is_double_scalable_species(BasicType bt, vmSymbols::SID sid) {
 248   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_DoubleScalableVector_DoubleScalableSpecies);
 249 }
 250 static bool is_double_scalable_mask(BasicType bt, vmSymbols::SID sid) {
 251   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_DoubleScalableVector_DoubleScalableMask);
 252 }
 253 static bool is_double_scalable(BasicType bt, vmSymbols::SID sid) {
 254   return is_double_scalable_vector(bt, sid) || is_double_scalable_species(bt, sid) || is_double_scalable_mask(bt, sid);
 255 }
 256 static bool is_double_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 257   return is_double64(bt, sid) || is_double128(bt, sid) || is_double256(bt, sid) || is_double512(bt, sid) || is_double_scalable(bt, sid);
 258 }
 259 static bool is_int64vector(BasicType bt, vmSymbols::SID sid) {
 260   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector);
 261 }
 262 static bool is_int64species(BasicType bt, vmSymbols::SID sid) {
 263   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Species);
 264 }
 265 static bool is_int64mask(BasicType bt, vmSymbols::SID sid) {
 266   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int64Vector_Int64Mask);
 267 }
 268 static bool is_int64(BasicType bt, vmSymbols::SID sid) {
 269   return is_int64vector(bt, sid) || is_int64species(bt, sid) || is_int64mask(bt, sid);
 270 }
 271 static bool is_int128vector(BasicType bt, vmSymbols::SID sid) {
 272   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector);
 273 }
 274 static bool is_int128species(BasicType bt, vmSymbols::SID sid) {
 275   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int128Vector_Int128Species);
 276 }
 277 static bool is_int128mask(BasicType bt, vmSymbols::SID sid) {


 287   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Species);
 288 }
 289 static bool is_int256mask(BasicType bt, vmSymbols::SID sid) {
 290   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int256Vector_Int256Mask);
 291 }
 292 static bool is_int256(BasicType bt, vmSymbols::SID sid) {
 293   return is_int256vector(bt, sid) || is_int256species(bt, sid) || is_int256mask(bt, sid);
 294 }
 295 static bool is_int512vector(BasicType bt, vmSymbols::SID sid) {
 296   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector);
 297 }
 298 static bool is_int512species(BasicType bt, vmSymbols::SID sid) {
 299   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Species);
 300 }
 301 static bool is_int512mask(BasicType bt, vmSymbols::SID sid) {
 302   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Int512Vector_Int512Mask);
 303 }
 304 static bool is_int512(BasicType bt, vmSymbols::SID sid) {
 305   return is_int512vector(bt, sid) || is_int512species(bt, sid) || is_int512mask(bt, sid);
 306 }
 307 static bool is_int_scalable_vector(BasicType bt, vmSymbols::SID sid) {
 308   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_IntScalableVector);
 309 }
 310 static bool is_int_scalable_species(BasicType bt, vmSymbols::SID sid) {
 311   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_IntScalableVector_IntScalableSpecies);
 312 }
 313 static bool is_int_scalable_mask(BasicType bt, vmSymbols::SID sid) {
 314   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_IntScalableVector_IntScalableMask);
 315 }
 316 static bool is_int_scalable(BasicType bt, vmSymbols::SID sid) {
 317   return is_int_scalable_vector(bt, sid) || is_int_scalable_species(bt, sid) || is_int_scalable_mask(bt, sid);
 318 }
 319 static bool is_int_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 320   return is_int64(bt, sid) || is_int128(bt, sid) || is_int256(bt, sid) || is_int512(bt, sid) || is_int_scalable(bt, sid);
 321 }
 322 static bool is_long64vector(BasicType bt, vmSymbols::SID sid) {
 323   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector);
 324 }
 325 static bool is_long64species(BasicType bt, vmSymbols::SID sid) {
 326   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Species);
 327 }
 328 static bool is_long64mask(BasicType bt, vmSymbols::SID sid) {
 329   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long64Vector_Long64Mask);
 330 }
 331 static bool is_long64(BasicType bt, vmSymbols::SID sid) {
 332   return is_long64vector(bt, sid) || is_long64species(bt, sid) || is_long64mask(bt, sid);
 333 }
 334 static bool is_long128vector(BasicType bt, vmSymbols::SID sid) {
 335   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector);
 336 }
 337 static bool is_long128species(BasicType bt, vmSymbols::SID sid) {
 338   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long128Vector_Long128Species);
 339 }
 340 static bool is_long128mask(BasicType bt, vmSymbols::SID sid) {


 350   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Species);
 351 }
 352 static bool is_long256mask(BasicType bt, vmSymbols::SID sid) {
 353   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long256Vector_Long256Mask);
 354 }
 355 static bool is_long256(BasicType bt, vmSymbols::SID sid) {
 356   return is_long256vector(bt, sid) || is_long256species(bt, sid) || is_long256mask(bt, sid);
 357 }
 358 static bool is_long512vector(BasicType bt, vmSymbols::SID sid) {
 359   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector);
 360 }
 361 static bool is_long512species(BasicType bt, vmSymbols::SID sid) {
 362   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Species);
 363 }
 364 static bool is_long512mask(BasicType bt, vmSymbols::SID sid) {
 365   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Long512Vector_Long512Mask);
 366 }
 367 static bool is_long512(BasicType bt, vmSymbols::SID sid) {
 368   return is_long512vector(bt, sid) || is_long512species(bt, sid) || is_long512mask(bt, sid);
 369 }
 370 static bool is_long_scalable_vector(BasicType bt, vmSymbols::SID sid) {
 371   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_LongScalableVector);
 372 }
 373 static bool is_long_scalable_species(BasicType bt, vmSymbols::SID sid) {
 374   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_LongScalableVector_LongScalableSpecies);
 375 }
 376 static bool is_long_scalable_mask(BasicType bt, vmSymbols::SID sid) {
 377   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_LongScalableVector_LongScalableMask);
 378 }
 379 static bool is_long_scalable(BasicType bt, vmSymbols::SID sid) {
 380   return is_long_scalable_vector(bt, sid) || is_long_scalable_species(bt, sid) || is_long_scalable_mask(bt, sid);
 381 }
 382 static bool is_long_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 383   return is_long64(bt, sid) || is_long128(bt, sid) || is_long256(bt, sid) || is_long512(bt, sid) || is_long_scalable(bt, sid);
 384 }
 385 static bool is_byte64vector(BasicType bt, vmSymbols::SID sid) {
 386   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector);
 387 }
 388 static bool is_byte64species(BasicType bt, vmSymbols::SID sid) {
 389   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Species);
 390 }
 391 static bool is_byte64mask(BasicType bt, vmSymbols::SID sid) {
 392   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte64Vector_Byte64Mask);
 393 }
 394 static bool is_byte64(BasicType bt, vmSymbols::SID sid) {
 395   return is_byte64vector(bt, sid) || is_byte64species(bt, sid) || is_byte64mask(bt, sid);
 396 }
 397 static bool is_byte128vector(BasicType bt, vmSymbols::SID sid) {
 398   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector);
 399 }
 400 static bool is_byte128species(BasicType bt, vmSymbols::SID sid) {
 401   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte128Vector_Byte128Species);
 402 }
 403 static bool is_byte128mask(BasicType bt, vmSymbols::SID sid) {


 413   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Species);
 414 }
 415 static bool is_byte256mask(BasicType bt, vmSymbols::SID sid) {
 416   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte256Vector_Byte256Mask);
 417 }
 418 static bool is_byte256(BasicType bt, vmSymbols::SID sid) {
 419   return is_byte256vector(bt, sid) || is_byte256species(bt, sid) || is_byte256mask(bt, sid);
 420 }
 421 static bool is_byte512vector(BasicType bt, vmSymbols::SID sid) {
 422   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector);
 423 }
 424 static bool is_byte512species(BasicType bt, vmSymbols::SID sid) {
 425   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Species);
 426 }
 427 static bool is_byte512mask(BasicType bt, vmSymbols::SID sid) {
 428   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Byte512Vector_Byte512Mask);
 429 }
 430 static bool is_byte512(BasicType bt, vmSymbols::SID sid) {
 431   return is_byte512vector(bt, sid) || is_byte512species(bt, sid) || is_byte512mask(bt, sid);
 432 }
 433 static bool is_byte_scalable_vector(BasicType bt, vmSymbols::SID sid) {
 434   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_ByteScalableVector);
 435 }
 436 static bool is_byte_scalable_species(BasicType bt, vmSymbols::SID sid) {
 437   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_ByteScalableVector_ByteScalableSpecies);
 438 }
 439 static bool is_byte_scalable_mask(BasicType bt, vmSymbols::SID sid) {
 440   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_ByteScalableVector_ByteScalableMask);
 441 }
 442 static bool is_byte_scalable(BasicType bt, vmSymbols::SID sid) {
 443   return is_byte_scalable_vector(bt, sid) || is_byte_scalable_species(bt, sid) || is_byte_scalable_mask(bt, sid);
 444 }
 445 static bool is_byte_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 446   return is_byte64(bt, sid) || is_byte128(bt, sid) || is_byte256(bt, sid) || is_byte512(bt, sid) || is_byte_scalable(bt, sid);
 447 }
 448 static bool is_short64vector(BasicType bt, vmSymbols::SID sid) {
 449   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector);
 450 }
 451 static bool is_short64species(BasicType bt, vmSymbols::SID sid) {
 452   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Species);
 453 }
 454 static bool is_short64mask(BasicType bt, vmSymbols::SID sid) {
 455   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short64Vector_Short64Mask);
 456 }
 457 static bool is_short64(BasicType bt, vmSymbols::SID sid) {
 458   return is_short64vector(bt, sid) || is_short64species(bt, sid) || is_short64mask(bt, sid);
 459 }
 460 static bool is_short128vector(BasicType bt, vmSymbols::SID sid) {
 461   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector);
 462 }
 463 static bool is_short128species(BasicType bt, vmSymbols::SID sid) {
 464   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short128Vector_Short128Species);
 465 }
 466 static bool is_short128mask(BasicType bt, vmSymbols::SID sid) {


 476   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Species);
 477 }
 478 static bool is_short256mask(BasicType bt, vmSymbols::SID sid) {
 479   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short256Vector_Short256Mask);
 480 }
 481 static bool is_short256(BasicType bt, vmSymbols::SID sid) {
 482   return is_short256vector(bt, sid) || is_short256species(bt, sid) || is_short256mask(bt, sid);
 483 }
 484 static bool is_short512vector(BasicType bt, vmSymbols::SID sid) {
 485   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector);
 486 }
 487 static bool is_short512species(BasicType bt, vmSymbols::SID sid) {
 488   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Species);
 489 }
 490 static bool is_short512mask(BasicType bt, vmSymbols::SID sid) {
 491   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_Short512Vector_Short512Mask);
 492 }
 493 static bool is_short512(BasicType bt, vmSymbols::SID sid) {
 494   return is_short512vector(bt, sid) || is_short512species(bt, sid) || is_short512mask(bt, sid);
 495 }
 496 static bool is_short_scalable_vector(BasicType bt, vmSymbols::SID sid) {
 497   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_ShortScalableVector);
 498 }
 499 static bool is_short_scalable_species(BasicType bt, vmSymbols::SID sid) {
 500   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_ShortScalableVector_ShortScalableSpecies);
 501 }
 502 static bool is_short_scalable_mask(BasicType bt, vmSymbols::SID sid) {
 503   return bt == T_OBJECT && sid == vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_incubator_vector_ShortScalableVector_ShortScalableMask);
 504 }
 505 static bool is_short_scalable(BasicType bt, vmSymbols::SID sid) {
 506   return is_short_scalable_vector(bt, sid) || is_short_scalable_species(bt, sid) || is_short_scalable_mask(bt, sid);
 507 }
 508 static bool is_short_vec_or_mask(BasicType bt, vmSymbols::SID sid) {
 509   return is_short64(bt, sid) || is_short128(bt, sid) || is_short256(bt, sid) || is_short512(bt, sid) || is_short_scalable(bt, sid);
 510 }
 511 
 512 #define __ basic_type(), as_klass()->name()->sid()
 513 
 514 bool ciType::is_vectormask() {
 515   return basic_type() == T_OBJECT &&
 516       (is_float64mask(__) || is_float128mask(__) || is_float256mask(__) || is_float512mask(__) || is_float_scalable_mask(__) ||
 517        is_double64mask(__) || is_double128mask(__) || is_double256mask(__) || is_double512mask(__) || is_double_scalable_mask(__) ||
 518        is_int64mask(__) || is_int128mask(__) || is_int256mask(__) || is_int512mask(__) || is_int_scalable_mask(__) ||
 519        is_long64mask(__) || is_long128mask(__) || is_long256mask(__) || is_long512mask(__) || is_long_scalable_mask(__) ||
 520        is_byte64mask(__) || is_byte128mask(__) || is_byte256mask(__) || is_byte512mask(__) || is_byte_scalable_mask(__) ||
 521        is_short64mask(__) || is_short128mask(__) || is_short256mask(__) || is_short512mask(__) ||  is_short_scalable_mask(__));
 522 }
 523 
 524 bool ciType::is_vectorapi_vector() {
 525   return is_float_vec_or_mask(__) ||
 526       is_double_vec_or_mask(__) ||
 527       is_int_vec_or_mask(__) ||
 528       is_long_vec_or_mask(__) ||
 529       is_byte_vec_or_mask(__) ||
 530       is_short_vec_or_mask(__);
 531 }
 532 
 533 int ciType::vectorapi_vector_size() {
 534   if ( is_double64(__) || is_long64(__)) return 1;
 535   if ( is_int64(__) || is_float64(__) || is_long128(__) || is_double128(__) ) return 2;
 536   if ( is_short64(__) || is_int128(__) || is_float128(__) || is_long256(__) || is_double256(__) ) return 4;
 537   if ( is_byte64(__) || is_short128(__) || is_int256(__) || is_float256(__) || is_long512(__) || is_double512(__) ) return 8;
 538   if ( is_byte128(__) || is_short256(__) || is_int512(__) || is_float512(__) ) return 16;
 539   if ( is_byte256(__) || is_short512(__) ) return 32;
 540   if ( is_byte512(__) ) return 64;
 541   if ( is_double_scalable(__)) return Matcher::max_vector_size(T_DOUBLE);
 542   if ( is_long_scalable(__)) return Matcher::max_vector_size(T_LONG);
 543   if ( is_float_scalable(__)) return Matcher::max_vector_size(T_FLOAT);
 544   if ( is_int_scalable(__)) return Matcher::max_vector_size(T_INT);
 545   if ( is_short_scalable(__)) return Matcher::max_vector_size(T_SHORT);
 546   if ( is_byte_scalable(__)) return Matcher::max_vector_size(T_BYTE);
 547   return -1;
 548 }
 549 
 550 BasicType ciType::vectorapi_vector_bt() {
 551   if ( is_float_vec_or_mask(__) ) return T_FLOAT;
 552   if ( is_double_vec_or_mask(__) ) return T_DOUBLE;
 553   if ( is_int_vec_or_mask(__) ) return T_INT;
 554   if ( is_long_vec_or_mask(__) ) return T_LONG;
 555   if ( is_byte_vec_or_mask(__) ) return T_BYTE;
 556   if ( is_short_vec_or_mask(__) ) return T_SHORT;
 557   return T_VOID;
 558 }
 559 
 560 #undef __
 561 
 562 // ciReturnAddress
 563 //
 564 // This class represents the type of a specific return address in the
 565 // bytecodes.
 566 


< prev index next >