changeset 41318:af7443b374fb

8165565: Shorten branches causes incorrect code for SKX Summary: don't replace restoreMask CountedLoopEnd with short branches. Reviewed-by: kvn
author mcberg
date Wed, 07 Sep 2016 12:23:25 -0700
parents d1b98cc38f04
children af9a986a9ce2
files hotspot/src/share/vm/adlc/formssel.cpp
diffstat 1 files changed, 1 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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.