RFR (XS) 8215354: x86_32 build failures after JDK-8214074 (Ghash optimization using AVX instructions)
Tobias Hartmann
tobias.hartmann at oracle.com
Thu Dec 13 13:52:11 UTC 2018
Hi Aleksey,
looks good and trivial to me.
Best regards,
Tobias
On 13.12.18 14:40, Aleksey Shipilev wrote:
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8215354
>
> New methods are declared in _LP64 block. Their definitions should also be protected with _LP64,
> otherwise x86_32 build fails. It is a separate question if those implementations should even be
> supported on x86_32, and if the intent was to have them only in 64-bit variant.
>
> Fix:
>
> diff -r 6108789077bb src/hotspot/cpu/x86/macroAssembler_x86_aes.cpp
> --- a/src/hotspot/cpu/x86/macroAssembler_x86_aes.cpp Thu Dec 13 14:10:00 2018 +0100
> +++ b/src/hotspot/cpu/x86/macroAssembler_x86_aes.cpp Thu Dec 13 14:33:33 2018 +0100
> @@ -27,10 +27,11 @@
> #include "asm/assembler.hpp"
> #include "asm/assembler.inline.hpp"
> #include "runtime/stubRoutines.hpp"
> #include "macroAssembler_x86.hpp"
>
> +#ifdef _LP64
> // Multiply 128 x 128 bits, using 4 pclmulqdq operations
> void MacroAssembler::schoolbookAAD(int i, Register htbl, XMMRegister data,
> XMMRegister tmp0, XMMRegister tmp1, XMMRegister tmp2, XMMRegister tmp3) {
> movdqu(xmm15, Address(htbl, i * 16));
> vpclmulhqlqdq(tmp3, data, xmm15); // 0x01
> @@ -317,6 +318,7 @@
> // zero out xmm registers used for Htbl storage
> vpxor(xmm0, xmm0, xmm0, Assembler::AVX_128bit);
> vpxor(xmm1, xmm1, xmm1, Assembler::AVX_128bit);
> vpxor(xmm3, xmm3, xmm3, Assembler::AVX_128bit);
> vpxor(xmm15, xmm15, xmm15, Assembler::AVX_128bit);
> -}
> \ No newline at end of file
> +}
> +#endif // _LP64
>
>
> Testing: x86_32 build, x86_64 build
>
> Thanks,
> -Aleksey
>
More information about the hotspot-compiler-dev
mailing list