RFR(S): 8143208: compiler/c1/6855215/Test6855215.java supports_sse2() failed
vladimir.kozlov at oracle.com
Fri Nov 20 19:53:38 UTC 2015
On 11/20/15 11:42 AM, Zoltán Majó wrote:
> Hi Vladimir,
> thank your the feedback!
> On 11/20/2015 05:52 PM, Vladimir Kozlov wrote:
>> On 11/20/15 7:07 AM, Zoltán Majó wrote:
>>> please review the patch for 8143208.
>>> Problem: The failure is triggered on linux_x86_32 with -XX:UseSSE=0
>>> because the MacroAssembler::has_negatives() method attempts to emit a
>>> movdl instruction that is available only if UseSSE >= 2.
>>> - Change the has_negatives() method to check if SSE42 intrinsics are
>>> enabled before attempting to emit SSE instructions. The check is
>>> performed on the value of 'UseSSE42Intrinsics' flag for consistency
>>> reasons: All method emitting string-related intrinsics check the value
>>> of that flag before emitting SSE instructions.
>> has_negatives() in .ad files does not have any predicates and there is
>> pass in MacroAssembler::has_negatives() where SSE is not used. So
>> guarding with UseSSE42Intrinsics does not stand here. I will suggest
>> to use (UseSSE >=2) instead.
> OK, I updated the condition in has_negatives(). Here is the new webrev:
> I re-tested with JPRT and the failing test case, both were successful.
> Thank you and best regards,
>> Otherwise changes are good.
>>> - Change the processing of command line-flags to not allow setting
>>> 'UseSSE42Intrinsics' to true if SSE4.2 has been disabled or is not
>>> - Add asserts that fail if UseSSE<4 to all places where
>>> UseSSE42Intrinsic assumed to be true.
>>> - JPRT;
>>> - executed failing test locally with linux_x86_32 build.
>>> Thank you and best regards,
More information about the hotspot-compiler-dev