8007708: compiler/6855215 assert(VM_Version::supports_sse4_2())
Added missing UseSSE42 check. Also added missing avx2 assert for vpermq instruction. Reviewed-by: roland, twisti
This commit is contained in:
parent
2fd28ebb43
commit
231bbf39f4
@ -2270,10 +2270,11 @@ void Assembler::vpackuswb(XMMRegister dst, XMMRegister nds, XMMRegister src, boo
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Assembler::vpermq(XMMRegister dst, XMMRegister src, int imm8, bool vector256) {
|
void Assembler::vpermq(XMMRegister dst, XMMRegister src, int imm8, bool vector256) {
|
||||||
int encode = simd_prefix_and_encode(dst, xnoreg, src, VEX_SIMD_66, VEX_OPCODE_0F_3A, true, vector256);
|
assert(VM_Version::supports_avx2(), "");
|
||||||
emit_int8(0x00);
|
int encode = simd_prefix_and_encode(dst, xnoreg, src, VEX_SIMD_66, VEX_OPCODE_0F_3A, true, vector256);
|
||||||
emit_int8(0xC0 | encode);
|
emit_int8(0x00);
|
||||||
emit_int8(imm8);
|
emit_int8(0xC0 | encode);
|
||||||
|
emit_int8(imm8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Assembler::pcmpestri(XMMRegister dst, Address src, int imm8) {
|
void Assembler::pcmpestri(XMMRegister dst, Address src, int imm8) {
|
||||||
|
@ -5691,7 +5691,7 @@ void MacroAssembler::string_compare(Register str1, Register str2,
|
|||||||
Address::ScaleFactor scale = Address::times_2;
|
Address::ScaleFactor scale = Address::times_2;
|
||||||
int stride = 8;
|
int stride = 8;
|
||||||
|
|
||||||
if (UseAVX >= 2) {
|
if (UseAVX >= 2 && UseSSE42Intrinsics) {
|
||||||
Label COMPARE_WIDE_VECTORS, VECTOR_NOT_EQUAL, COMPARE_WIDE_TAIL, COMPARE_SMALL_STR;
|
Label COMPARE_WIDE_VECTORS, VECTOR_NOT_EQUAL, COMPARE_WIDE_TAIL, COMPARE_SMALL_STR;
|
||||||
Label COMPARE_WIDE_VECTORS_LOOP, COMPARE_16_CHARS, COMPARE_INDEX_CHAR;
|
Label COMPARE_WIDE_VECTORS_LOOP, COMPARE_16_CHARS, COMPARE_INDEX_CHAR;
|
||||||
Label COMPARE_TAIL_LONG;
|
Label COMPARE_TAIL_LONG;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user