< prev index next > src/hotspot/share/prims/vectorSupport.cpp
Print this page
case T_DOUBLE: return Op_VectorMaskToLong;
default: fatal("MASK_TOLONG: %s", type2name(bt));
}
break;
}
+ case VECTOR_OP_EXPAND: {
+ switch (bt) {
+ case T_BYTE: // fall-through
+ case T_SHORT: // fall-through
+ case T_INT: // fall-through
+ case T_LONG: // fall-through
+ case T_FLOAT: // fall-through
+ case T_DOUBLE: return Op_ExpandV;
+ default: fatal("EXPAND: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_COMPRESS: {
+ switch (bt) {
+ case T_BYTE: // fall-through
+ case T_SHORT: // fall-through
+ case T_INT: // fall-through
+ case T_LONG: // fall-through
+ case T_FLOAT: // fall-through
+ case T_DOUBLE: return Op_CompressV;
+ default: fatal("COMPRESS: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_MASK_COMPRESS: {
+ switch (bt) {
+ case T_BYTE: // fall-through
+ case T_SHORT: // fall-through
+ case T_INT: // fall-through
+ case T_LONG: // fall-through
+ case T_FLOAT: // fall-through
+ case T_DOUBLE: return Op_CompressM;
+ default: fatal("MASK_COMPRESS: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_BIT_COUNT: {
+ switch (bt) {
+ case T_BYTE: // Returning Op_PopCountI
+ case T_SHORT: // for byte and short types temporarily
+ case T_INT: return Op_PopCountI;
+ case T_LONG: return Op_PopCountL;
+ default: fatal("BIT_COUNT: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_TZ_COUNT: {
+ switch (bt) {
+ case T_BYTE:
+ case T_SHORT:
+ case T_INT: return Op_CountTrailingZerosI;
+ case T_LONG: return Op_CountTrailingZerosL;
+ default: fatal("TZ_COUNT: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_LZ_COUNT: {
+ switch (bt) {
+ case T_BYTE:
+ case T_SHORT:
+ case T_INT: return Op_CountLeadingZerosI;
+ case T_LONG: return Op_CountLeadingZerosL;
+ default: fatal("LZ_COUNT: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_REVERSE: {
+ switch (bt) {
+ case T_BYTE: // Temporarily returning
+ case T_SHORT: // Op_ReverseI for byte and short
+ case T_INT: return Op_ReverseI;
+ case T_LONG: return Op_ReverseL;
+ default: fatal("REVERSE: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_REVERSE_BYTES: {
+ switch (bt) {
+ case T_BYTE:
+ case T_SHORT:
+ case T_INT: return Op_ReverseBytesI;
+ case T_LONG: return Op_ReverseBytesL;
+ default: fatal("REVERSE_BYTES: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_COMPRESS_BITS: {
+ switch (bt) {
+ case T_INT:
+ case T_LONG: return Op_CompressBits;
+ default: fatal("COMPRESS_BITS: %s", type2name(bt));
+ }
+ break;
+ }
+ case VECTOR_OP_EXPAND_BITS: {
+ switch (bt) {
+ case T_INT:
+ case T_LONG: return Op_ExpandBits;
+ default: fatal("EXPAND_BITS: %s", type2name(bt));
+ }
+ break;
+ }
+
case VECTOR_OP_TAN:
case VECTOR_OP_TANH:
case VECTOR_OP_SIN:
case VECTOR_OP_SINH:
case VECTOR_OP_COS:
< prev index next >