3768 lea(rscratch1, src); |
3768 lea(rscratch1, src); |
3769 vaddss(dst, nds, Address(rscratch1, 0)); |
3769 vaddss(dst, nds, Address(rscratch1, 0)); |
3770 } |
3770 } |
3771 } |
3771 } |
3772 |
3772 |
|
3773 void MacroAssembler::vpaddd(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len, Register rscratch) { |
|
3774 assert(UseAVX > 0, "requires some form of AVX"); |
|
3775 if (reachable(src)) { |
|
3776 Assembler::vpaddd(dst, nds, as_Address(src), vector_len); |
|
3777 } else { |
|
3778 lea(rscratch, src); |
|
3779 Assembler::vpaddd(dst, nds, Address(rscratch, 0), vector_len); |
|
3780 } |
|
3781 } |
|
3782 |
3773 void MacroAssembler::vabsss(XMMRegister dst, XMMRegister nds, XMMRegister src, AddressLiteral negate_field, int vector_len) { |
3783 void MacroAssembler::vabsss(XMMRegister dst, XMMRegister nds, XMMRegister src, AddressLiteral negate_field, int vector_len) { |
3774 assert(((dst->encoding() < 16 && src->encoding() < 16 && nds->encoding() < 16) || VM_Version::supports_avx512vldq()),"XMM register should be 0-15"); |
3784 assert(((dst->encoding() < 16 && src->encoding() < 16 && nds->encoding() < 16) || VM_Version::supports_avx512vldq()),"XMM register should be 0-15"); |
3775 vandps(dst, nds, negate_field, vector_len); |
3785 vandps(dst, nds, negate_field, vector_len); |
3776 } |
3786 } |
3777 |
3787 |