From 6384a5d55d6fb3f6d226a6788e9c41f56124cd61 Mon Sep 17 00:00:00 2001 From: Michael Berg Date: Wed, 7 Sep 2016 12:23:25 -0700 Subject: [PATCH] 8165565: Shorten branches causes incorrect code for SKX Don't replace restoreMask CountedLoopEnd with short branches. Reviewed-by: kvn --- hotspot/src/share/vm/adlc/formssel.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/hotspot/src/share/vm/adlc/formssel.cpp b/hotspot/src/share/vm/adlc/formssel.cpp index 7f720b1b708..e18b67e22dc 100644 --- a/hotspot/src/share/vm/adlc/formssel.cpp +++ b/hotspot/src/share/vm/adlc/formssel.cpp @@ -1245,6 +1245,7 @@ bool InstructForm::check_branch_variant(ArchDesc &AD, InstructForm *short_branch 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.