"assert(allow_address || t != T_ADDRESS) failed" was hit after JDK-8283091. So far observed on PPC64 while testing sun/java2d/marlin/CrashNaNTest.java. Unclear if other platforms are affected.
Current CompileTask:
C2: 4946 91 % b 4 sun.java2d.marlin.Renderer::_endRendering @ 1468 (2480 bytes)
Stack snippet:
#7 0x00003fff94565840 in type2aelembytes (t=T_ADDRESS, allow_address=false)
at src/hotspot/share/utilities/globalDefinitions.cpp:326
#8 0x00003fff94ed754c in SuperWord::data_size (this=0x3fff2bff9818, s=0x3fff24636220)
at src/hotspot/share/opto/superword.cpp:1417
#9 0x00003fff94ed78b0 in SuperWord::adjust_alignment_for_type_conversion (this=0x3fff2bff9818, s=0x3fff246366d8,
t=0x3fff24636220, align=0) at src/hotspot/share/opto/superword.cpp:1454
#10 0x00003fff94ed82a0 in SuperWord::follow_def_uses (this=0x3fff2bff9818, p=0x3fff244a3c58)
at src/hotspot/share/opto/superword.cpp:1525
#11 0x00003fff94ed76c8 in SuperWord::extend_packlist (this=0x3fff2bff9818)
at src/hotspot/share/opto/superword.cpp:1432
#12 0x00003fff94ed2758 in SuperWord::SLP_extract (this=0x3fff2bff9818)
at src/hotspot/share/opto/superword.cpp:519
#13 0x00003fff94ed11cc in SuperWord::transform_loop (this=0x3fff2bff9818, lpt=0x3fff244c8ba0, do_optimization=true)
at src/hotspot/share/opto/superword.cpp:178
s in adjust_alignment_for_type_conversion is a ConvI2LNode.
New function SuperWord::adjust_alignment_for_type_conversion calls data_size which doesn't allow T_ADDRESS when calling type2aelembytes. This seems to be needed, now.