Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8239331

C2: AVX512VL isn't properly handled

XMLWordPrintable

      Explicitly disabling AVX512VL leads to the following assertion failures:

      # Internal Error (open/src/hotspot/cpu/x86/macroAssembler_x86.cpp:3306), pid=25774, tid=25788
      # assert(((dst->encoding() < 16) || VM_Version::supports_avx512vl())) failed: XMM register should be 0-15
      V [libjvm.so+0x107695c] MacroAssembler::vmovdqu(XMMRegisterImpl*, AddressLiteral, RegisterImpl*)+0x20c
      V [libjvm.so+0x36fd7a] vshift64B_avxNode::emit(CodeBuffer&, PhaseRegAlloc*) const+0x41a


      # Internal Error (open/src/hotspot/cpu/x86/assembler_x86.cpp:7910), pid=26235, tid=26249
      # assert(((!attributes->uses_vl()) || (attributes->get_vector_len() == AVX_512bit) || (!_legacy_mode_vl) || (attributes->is_legacy_mode()))) failed: XMM register should be 0-15
      V [libjvm.so+0x4fd964] Assembler::vex_prefix(Address, int, int, Assembler::VexSimdPrefix, Assembler::VexOpcode, InstructionAttr*)+0x214
      V [libjvm.so+0x4ff184] Assembler::vpmullq(XMMRegisterImpl*, XMMRegisterImpl*, Address, int)+0x104
      V [libjvm.so+0x365536] vmulL_mem_0Node::emit(CodeBuffer&, PhaseRegAlloc*) const+0x1d6


      # Internal Error (open/src/hotspot/cpu/x86/macroAssembler_x86.cpp:3894), pid=26287, tid=26301
      # assert(((dst->encoding() < 16 && shift->encoding() < 16 && nds->encoding() < 16) || VM_Version::supports_avx512vlbw())) failed: XMM register should be 0-15
      V [libjvm.so+0x107b38a] MacroAssembler::vpsllw(XMMRegisterImpl*, XMMRegisterImpl*, XMMRegisterImpl*, int)+0x7a
      V [libjvm.so+0x372c2a] vshiftSNode::emit(CodeBuffer&, PhaseRegAlloc*) const+0x14a


      # Internal Error (open/src/hotspot/cpu/x86/macroAssembler_x86.cpp:3803), pid=26980, tid=26994
      # assert(((dst->encoding() < 16 && src->encoding() < 16) || VM_Version::supports_avx512vlbw())) failed: XMM register should be 0-15
      V [libjvm.so+0x1079d0d] MacroAssembler::vpbroadcastw(XMMRegisterImpl*, XMMRegisterImpl*, int)+0x6d
      V [libjvm.so+0x342213] ReplS_immNode::emit(CodeBuffer&, PhaseRegAlloc*) const+0x373


      As of now, the configuration is artificial since there's no such hardware exist.

            Unassigned Unassigned
            vlivanov Vladimir Ivanov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: