Bisection shows this starts to happen after JDK-8223051. There are many tests failing in tier1. I wonder if 32-bit code dislikes loops with *L nodes now.
Here is the example failure:
$ CONF=linux-x86-server-fastdebug make clean images run-test TEST=compiler/c2/TestMatcherLargeOffset.java
STDOUT:
o866 Binary === _ o579 o578 [[o580 ]]
--N: o866 Binary === _ o579 o578 [[o580 ]]
--N: o579 Bool === _ o578 [[o866 ]] [gt]
CMPOP 0 CMPOP
CMPOPU 0 CMPOPU
CMPOPUCF 0 CMPOPUCF
CMPOP_FCMOV 0 CMPOP_FCMOV
CMPOP_COMMUTE 0 CMPOP_COMMUTE
CMPOPU_COMMUTE 0 CMPOPU_COMMUTE
CMPOP_VCMPPD 0 CMPOP_VCMPPD
--N: o578 CmpUL === _ o574 o575 [[o579 o866 ]]
FLAGSREG_ULONG_LTGE 500 cmpUL_reg_flags_LTGE
FLAGSREG_ULONG_EQNE 700 cmpUL_reg_flags_EQNE
FLAGSREG_ULONG_LEGT 500 cmpUL_reg_flags_LEGT
--N: o574 CMoveL === _ o864 o865 [[o578 o867 ]] #long
EREGL 0 EREGL
EADXREGL 0 EADXREGL
EBCXREGL 0 EBCXREGL
EADXREGL_LOW_ONLY 0 EADXREGL_LOW_ONLY
STACKSLOTL 200 storeSSL
--N: o575 ConL === o0 [[o578 o867 ]] #long:maxint-2
IMML 20 IMML
IMML32 20 IMML32
EREGL 200 loadConL
EADXREGL 200 loadConL
EBCXREGL 200 loadConL
EADXREGL_LOW_ONLY 270 loadConL_low_only
STACKSLOTL 400 storeSSL
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/matcher.cpp:1653
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/matcher.cpp:1653), pid=714120, tid=714135
# assert(false) failed: bad AD file