JDK-8256220 : C1: x86_32 fails with -XX:UseSSE=1 after JDK-8210764 due to mishandled lir_neg
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11.0.2,12,15,16
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-11-11
  • Updated: 2024-12-13
  • Resolved: 2020-11-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 16
11.0.11Fixed 16 b25Fixed
Related Reports
Relates :  
Description
Like this:

$ CONF=linux-x86-server-fastdebug make images run-test TEST=tier1 TEST_VM_OPTS="-XX:UseSSE=1"

#  Internal Error (/home/shade/trunks/jdk/src/hotspot/cpu/x86/c1_LinearScan_x86.cpp:794), pid=1484789, tid=1484820
#  assert(false) failed: missed a fpu-operation
#
# JRE version: OpenJDK Runtime Environment (16.0) (fastdebug build 16-internal+0-adhoc.shade.jdk)
# Java VM: OpenJDK Server VM (fastdebug 16-internal+0-adhoc.shade.jdk, mixed mode, tiered, g1 gc, linux-x86)
# Problematic frame:
# V  [libjvm.so+0x6d6300]  FpuStackAllocator::handle_op2(LIR_Op2*)+0xf0

Amending that assert implies we miss "neg". I believe it was missed when JDK-8210764 changed lir_neg from LIR_Op1 to LIR_Op2.
Comments
Fix Request (11u) This fixes the C1 regression already introduced in 11.0.2. Patch applies cleanly to 11u, observed tier1 failures with SSE=1 without the patch, no failures without it.
15-02-2021

Changeset: c3139abe Author: Aleksey Shipilev <shade@openjdk.org> Date: 2020-11-13 07:39:29 +0000 URL: https://github.com/openjdk/jdk/commit/c3139abe
13-11-2020