From d2b626eb7640065250f01e216dc0f4c765e09576 Mon Sep 17 00:00:00 2001 From: Mohammad Nazmul Alam Date: Fri, 19 Jun 2020 15:43:27 -0400 Subject: [PATCH] Disable AutoSIMD when PIV is a child of a commoned node AutoSIMD was generating incorrect IL due to the side effect of node commoning. Upon investigating further it was clear that to come up with a general solution, it would require time. Moreover, it appears that even for correct IL, AutoSIMD was failing in functionality tests. This suggest that there may be bug in the codegen as well. Thus, it was decided that for such cases, AutoSIMD will be disabled until a generalized solution is ready. This kind of optimization is currently available only in z Systems. and does not affect amd64 / powerpc. For more details see #eclipse/openj9/9446 Signed-off-by: Mohammad Nazmul Alam --- runtime/compiler/optimizer/SPMDParallelizer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/runtime/compiler/optimizer/SPMDParallelizer.cpp b/runtime/compiler/optimizer/SPMDParallelizer.cpp index 6098a3f03e2..28a25b42bbd 100644 --- a/runtime/compiler/optimizer/SPMDParallelizer.cpp +++ b/runtime/compiler/optimizer/SPMDParallelizer.cpp @@ -698,8 +698,9 @@ bool TR_SPMDKernelParallelizer::visitNodeToSIMDize(TR::Node *parent, int32_t chi if (trace && !platformSupport) traceMsg(comp, " Found use of induction variable at node [%p] - platform does not support this vectorization\n", node); - - return platformSupport; + if (trace && platformSupport) + traceMsg(comp, " Found use of induction variable at node [%p] - vectorization disabled for now\n", node); + return false; // see : eclipse/openj9/9446 } } }