This reliably reproduces with the existing test:
$ CONF=linux-x86-server-fastdebug make run-test TEST=java/util/Random/RandomTestMoments.java TEST_VM_OPTS="-XX:UseAVX=0 -XX:UseSSE=0"
# Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/matcher.cpp:1681), pid=1313665, tid=1313681
# assert(false) failed: bad AD file
o1789 AddD === _ o1790 o436 [[o1785 ]]
--N: o1789 AddD === _ o1790 o436 [[o1785 ]]
--N: o1790 CastDD === o1112 o1086 [[o1789 ]] #double unconditional dependency
REGD 100 castDD
LEGREGD 200 MoveD2LEG
VLREGD 200 MoveD2VL
--N: o1086 RoundDouble === _ o1085 [[o1189 o1792 o1790 ]]
REGDPR 0 REGDPR
REGDPR1 0 REGDPR1
REGDPR2 0 REGDPR2
REGNOTDPR1 0 REGNOTDPR1
REGD 100 MoveVL2D
LEGREGD 200 MoveD2LEG
VLREGD 0 VLREGD
--N: o436 Phi === o1762 o380 o1459 [[o1451 o730 o1458 o1789 o1791 ]] #double
REGDPR 0 REGDPR
REGDPR1 0 REGDPR1
REGDPR2 0 REGDPR2
REGNOTDPR1 0 REGNOTDPR1
REGD 100 MoveVL2D
LEGREGD 200 MoveD2LEG
VLREGD 0 VLREGD
I think the newly added CastDD nodes should handle regDPR instead of just regD to avoid this mismatch error.