When trying to build jdk on linux ppc64le with gcc11, we run into these warnings (as errors) :
/open_jdk/jdk_3/jdk/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp:864:113: error: 'this' pointer is null [-Werror=nonnull]
864 | inline void Assembler::mtvrwz( VectorRegister d, Register a) { emit_int32( MTVSRWZ_OPCODE | vsrt(d->to_vsr()) | ra(a)); }
| ~~~~^~~~~~~~~~~~~
In member function 'void MacroAssembler::sha256_update_sha_state(VectorRegister, VectorRegister, VectorRegister, VectorRegister, VectorRegister, VectorRegister, VectorRegister, VectorRegister, Register)':
/open_jdk/jdk_3/jdk/src/hotspot/cpu/ppc/macroAssembler_ppc_sha.cpp:346:11: error: 'this' pointer is null [-Werror=nonnull]
346 | xxswapd (vt0->to_vsr(), a->to_vsr());
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/open_jdk/jdk_3/jdk/src/hotspot/cpu/ppc/register_ppc.hpp:431:19: note: in a call to non-static member function 'VectorSRegisterImpl* VectorRegisterImpl::to_vsr() const'
431 | VectorSRegister to_vsr() const;
| ^~~~~~
/open_jdk/jdk_3/jdk/src/hotspot/cpu/ppc/macroAssembler_ppc_sha.cpp:347:11: error: 'this' pointer is null [-Werror=nonnull]
347 | stxvd2x (vt0->to_vsr(), hptr);
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
... (rest of output omitted)
The gcc-10 (or gcc-8) compiler seems to still work nicely and does not show these issues.
/open_jdk/jdk_3/jdk/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp:864:113: error: 'this' pointer is null [-Werror=nonnull]
864 | inline void Assembler::mtvrwz( VectorRegister d, Register a) { emit_int32( MTVSRWZ_OPCODE | vsrt(d->to_vsr()) | ra(a)); }
| ~~~~^~~~~~~~~~~~~
In member function 'void MacroAssembler::sha256_update_sha_state(VectorRegister, VectorRegister, VectorRegister, VectorRegister, VectorRegister, VectorRegister, VectorRegister, VectorRegister, Register)':
/open_jdk/jdk_3/jdk/src/hotspot/cpu/ppc/macroAssembler_ppc_sha.cpp:346:11: error: 'this' pointer is null [-Werror=nonnull]
346 | xxswapd (vt0->to_vsr(), a->to_vsr());
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/open_jdk/jdk_3/jdk/src/hotspot/cpu/ppc/register_ppc.hpp:431:19: note: in a call to non-static member function 'VectorSRegisterImpl* VectorRegisterImpl::to_vsr() const'
431 | VectorSRegister to_vsr() const;
| ^~~~~~
/open_jdk/jdk_3/jdk/src/hotspot/cpu/ppc/macroAssembler_ppc_sha.cpp:347:11: error: 'this' pointer is null [-Werror=nonnull]
347 | stxvd2x (vt0->to_vsr(), hptr);
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
... (rest of output omitted)
The gcc-10 (or gcc-8) compiler seems to still work nicely and does not show these issues.
- duplicates
-
JDK-8297445 PPC64: Represent Registers as values
- Resolved