<div dir="ltr"><div style="font-size:12.8px"><span style="font-size:12.8px">Hi,</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style=""><span style="font-size:12.8px">    Please review webrev: </span><font color="#1155cc"><span style="font-size:12.8px"><u><a href="http://cr.openjdk.java.net/~fyang/8153837/webrev.00/">http://cr.openjdk.java.net/~fyang/8153837/webrev.00/</a></u></span></font></div><div style=""><span style="font-size:12.8px">    JIRA Issue: </span><font color="#1155cc"><span style="font-size:12.8px"><u><a href="https://bugs.openjdk.java.net/browse/JDK-8153837">https://bugs.openjdk.java.net/browse/JDK-8153837</a><br style=""></u></span></font><span style="font-size:12.8px">    </span></div><div style=""><span style="font-size:12.8px">    Patch handles code generation for special cases where one arg </span><span style="font-size:12.8px">is -1/0/1 of MaxINode & MinINode eliminating one extra mov instruction.</span></div><span style="font-size:12.8px">    As shown in the JIRA Issue, I saw some occurrences of the specail cases in specJBB2005 and other benchmarks.</span><div><span style="font-size:12.8px">    The patch does something like this:</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">     min(x, 1)</span><br style="font-size:12.8px">     =><br style="font-size:12.8px"><span style="font-size:12.8px">     cmp x, 0</span><br style="font-size:12.8px"><span style="font-size:12.8px">     csinc x, x, zr, le</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">     min(x, -1) </span><br style="font-size:12.8px">     =><br style="font-size:12.8px"><span style="font-size:12.8px">     cmp x, 0</span><br style="font-size:12.8px"><span style="font-size:12.8px">     csinv x, x, zr, lt</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">     max(x, 1)</span><br style="font-size:12.8px">     =><br style="font-size:12.8px"><span style="font-size:12.8px">     cmp x, 0</span><br style="font-size:12.8px"><span style="font-size:12.8px">     csinc x, x, zr, gt</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">     max(x, -1)</span><br style="font-size:12.8px">     =><br style="font-size:12.8px"><span style="font-size:12.8px">     cmp x, 0</span><br style="font-size:12.8px"><span style="font-size:12.8px">     csinv x, x, zr, ge</span><br><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">    </span><span style="font-size:12.8px">Tested with JTreg hotspot, langtools.  Is it OK?</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">Thanks,</span></div><div style="font-size:12.8px"><span style="font-size:12.8px">Felix</span></div></div></div>