RFR: 8145665: Make UseSSE an x86 specific option and cleanup its usage in shared code
Derek.White at cavium.com
Fri Apr 6 14:33:45 UTC 2018
The rounding code in C1 is guarded by expressions like "(RoundFPResults && UseSSE < 1)". Because on AARCH64, UseSSE is set to 99, we've been protected from the rounding code.
After the 8145665 fix, AARCH64 code generation will change UNLESS we set RoundFPResults=false. I think that fixing RoundFPResults is actually more conservative than doing nothing.
> -----Original Message-----
> From: Andrew Haley [mailto:aph at redhat.com]
> Sent: Friday, April 06, 2018 9:30 AM
> To: White, Derek <Derek.White at cavium.com>; Vladimir Kozlov
> <vladimir.kozlov at oracle.com>; hotspot-compiler-dev at openjdk.java.net
> Subject: Re:  RFR: 8145665: Make UseSSE an x86 specific option and
> cleanup its usage in shared code
> On 04/05/2018 09:04 PM, White, Derek wrote:
> > 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.
> We turned on UseSSE because in the old JVM there was code in the shared
> part of C2 which was only enabled with UseSSE, and AArch64 vectorization
> didn't work unless UseSSE was enabled. I believe this bug is fixed.
> We turned on RoundFPResults by mistake. We could turn it off, but we'd
> have to do some testing because C1 code generation would be different
> even though in theory it should work the same.
> Andrew Haley
> Java Platform Lead Engineer
> Red Hat UK Ltd. <https://www.redhat.com>
> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the hotspot-compiler-dev