mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-16 17:14:41 +02:00
8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
Reviewed-by: dlong
This commit is contained in:
parent
3f0684d0b8
commit
8b45dbdae6
1 changed files with 2 additions and 2 deletions
|
@ -9864,12 +9864,12 @@ void Assembler::vpbroadcastq(XMMRegister dst, Address src, int vector_len) {
|
||||||
|
|
||||||
void Assembler::evbroadcasti32x4(XMMRegister dst, Address src, int vector_len) {
|
void Assembler::evbroadcasti32x4(XMMRegister dst, Address src, int vector_len) {
|
||||||
assert(vector_len != Assembler::AVX_128bit, "");
|
assert(vector_len != Assembler::AVX_128bit, "");
|
||||||
assert(VM_Version::supports_avx512dq(), "");
|
assert(VM_Version::supports_evex(), "");
|
||||||
assert(dst != xnoreg, "sanity");
|
assert(dst != xnoreg, "sanity");
|
||||||
InstructionMark im(this);
|
InstructionMark im(this);
|
||||||
InstructionAttr attributes(vector_len, /* vex_w */ false, /* legacy_mode */ false, /* no_mask_reg */ true, /* uses_vl */ true);
|
InstructionAttr attributes(vector_len, /* vex_w */ false, /* legacy_mode */ false, /* no_mask_reg */ true, /* uses_vl */ true);
|
||||||
attributes.set_rex_vex_w_reverted();
|
attributes.set_rex_vex_w_reverted();
|
||||||
attributes.set_address_attributes(/* tuple_type */ EVEX_T2, /* input_size_in_bits */ EVEX_64bit);
|
attributes.set_address_attributes(/* tuple_type */ EVEX_T4, /* input_size_in_bits */ EVEX_32bit);
|
||||||
// swap src<->dst for encoding
|
// swap src<->dst for encoding
|
||||||
vex_prefix(src, 0, dst->encoding(), VEX_SIMD_66, VEX_OPCODE_0F_38, &attributes);
|
vex_prefix(src, 0, dst->encoding(), VEX_SIMD_66, VEX_OPCODE_0F_38, &attributes);
|
||||||
emit_int8(0x5A);
|
emit_int8(0x5A);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue