RFR: 8145665: Make UseSSE an x86 specific option and cleanup its usage in shared code
Derek.White at cavium.com
Thu Apr 5 20:04:40 UTC 2018
Hi Rahul, Vladimir,
This is a nice cleanup.
This code looks good to me, but I think we need to update the aarch64 code to set RoundFPResults to false (like all other non-x64 ports). The AARCH64 port has [RoundFPResults=true; UseSSE=99], which worked ok until now. I sent question out to aarch64-port-dev to verify this.
More comments inline:
> -----Original Message-----
> From: hotspot-compiler-dev [mailto:hotspot-compiler-dev-
> bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov
> Sent: Thursday, April 05, 2018 1:55 PM
> To: hotspot-compiler-dev at openjdk.java.net
> Subject: Re:  RFR: 8145665: Make UseSSE an x86 specific option and
> cleanup its usage in shared code
> Hi Rahul
> Good job. This should be tested and reviewed by our colleges in SAP and RH
> on their platforms.
> I surprise that the flag is not reset to 0 on Aarch64, s390 and our arm ports.
To the extent that UseSSE < 2 means "do extra rounding", I think the other platforms worked with the default value of UseSSE = 99. As long as you don't interpret this to mean "we've got SSE features x86 hasn't dreamed of yet"
> I am concern about changes in c1_LinearScan.cpp. Before changes first block
> was executed for S390 and 'else' block was executed for other platforms.
That hunk of changed code is within an "ifdef x86 or S390" block, so modified code is never executed for ppc, arm, etc.
> Also we should remove code associated with Use24BitFP (as separate RFE).
> It should not be used anymore because it was for old x64 CPUs where FPU
> was used for float operations. I think it will be hard to find processors
> without SSE now. I hope other architectures do not use it.
I think the 24_bit fields are only read by x86 code (.ad files), but are set in shared code. Yes, that would be nice to clean up too!
> On 4/5/18 8:06 AM, Rahul Raghavan wrote:
> > Hi,
> > JBS - https://bugs.openjdk.java.net/browse/JDK-8145665
> > Request help to review, confirm if 8145665 requirement can be achieved
> > with following proposed changes.
> > webrev.00 - http://cr.openjdk.java.net/~rraghavan/8145665/webrev.00/
> > -- UseSSE option moved from globals.hpp to globals_x86.hpp, usages in
> > shared code guarded for x86 wherever missing.
> > -- Also found two tests required to use -XX:UseSSE option.
> > (Test6579789.java, Test6855215.java)
> > (confirmed the UseSSE requirement for these tests from the old related
> > bugs notes.) So added @requires for the tests to prevent from running
> > and failing in Sparc after 8145665 changes.
> > -- No issues with local builds, hs-tier1,hs-tier2 testing,
> > pre-integeration testing in progress
> > -- I will also work for other related task - JDK-8038595 'Using
> > platform specific flags may cause VM crash'
> > Thanks,
> > Rahul
More information about the hotspot-compiler-dev