< prev index next >
src/hotspot/cpu/x86/macroAssembler_x86.cpp
Print this page
rev 50140 : Vector cast support
*** 4440,4455 ****
Assembler::vpaddw(xmm0, xmm0, src, vector_len);
evmovdqul(xmm0, nds, Assembler::AVX_512bit);
}
}
! void MacroAssembler::vpand(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len) {
if (reachable(src)) {
Assembler::vpand(dst, nds, as_Address(src), vector_len);
} else {
! lea(rscratch1, src);
! Assembler::vpand(dst, nds, Address(rscratch1, 0), vector_len);
}
}
void MacroAssembler::vpbroadcastw(XMMRegister dst, XMMRegister src) {
int dst_enc = dst->encoding();
--- 4440,4455 ----
Assembler::vpaddw(xmm0, xmm0, src, vector_len);
evmovdqul(xmm0, nds, Assembler::AVX_512bit);
}
}
! void MacroAssembler::vpand(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len, Register scratch_reg) {
if (reachable(src)) {
Assembler::vpand(dst, nds, as_Address(src), vector_len);
} else {
! lea(scratch_reg, src);
! Assembler::vpand(dst, nds, Address(scratch_reg, 0), vector_len);
}
}
void MacroAssembler::vpbroadcastw(XMMRegister dst, XMMRegister src) {
int dst_enc = dst->encoding();
< prev index next >