--- a/src/hotspot/cpu/x86/macroAssembler_x86.cpp Thu Nov 07 16:00:53 2019 -0800
+++ b/src/hotspot/cpu/x86/macroAssembler_x86.cpp Thu Nov 07 17:47:22 2019 -0800
@@ -3770,6 +3770,16 @@
}
}
+void MacroAssembler::vpaddd(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len, Register rscratch) {
+ assert(UseAVX > 0, "requires some form of AVX");
+ if (reachable(src)) {
+ Assembler::vpaddd(dst, nds, as_Address(src), vector_len);
+ } else {
+ lea(rscratch, src);
+ Assembler::vpaddd(dst, nds, Address(rscratch, 0), vector_len);
+ }
+}
+
void MacroAssembler::vabsss(XMMRegister dst, XMMRegister nds, XMMRegister src, AddressLiteral negate_field, int vector_len) {
assert(((dst->encoding() < 16 && src->encoding() < 16 && nds->encoding() < 16) || VM_Version::supports_avx512vldq()),"XMM register should be 0-15");
vandps(dst, nds, negate_field, vector_len);