# HG changeset patch # User mcberg # Date 1473276205 25200 # Node ID af7443b374fbbb0ee373cb606250dd50c4d7a273 # Parent d1b98cc38f04a2a8e8eabdd5584ee6cdaa1f9604 8165565: Shorten branches causes incorrect code for SKX Summary: don't replace restoreMask CountedLoopEnd with short branches. Reviewed-by: kvn diff -r d1b98cc38f04 -r af7443b374fb hotspot/src/share/vm/adlc/formssel.cpp --- a/hotspot/src/share/vm/adlc/formssel.cpp Tue Sep 06 09:59:25 2016 -0700 +++ b/hotspot/src/share/vm/adlc/formssel.cpp Wed Sep 07 12:23:25 2016 -0700 @@ -1245,6 +1245,7 @@ this != short_branch && // Don't match myself !is_short_branch() && // Don't match another short branch variant reduce_result() != NULL && + strstr(_ident, "restoreMask") == NULL && // Don't match side effects strcmp(reduce_result(), short_branch->reduce_result()) == 0 && _matrule->equivalent(AD.globalNames(), short_branch->_matrule)) { // The instructions are equivalent.