The attached test case passes when executed in interpreter mode:
$ java -Xint Test.java
-30.0
-30.0
but fails on JDK20 (b13) when compiled with C2 using -XX:+UseSuperWord (default setting), on a linux-x86_64 platform:
$ java -Xcomp -Xbatch -XX:CompileOnly=Test -XX:CompileCommand=quiet -XX:+UseSuperWord Test.java
-30.0
-9.0
Exception in thread "main" java.lang.Exception: expected s: -30, actual s: -9.0
at Test.o(Test.java:26)
at Test.main(Test.java:31)
The test case succeeds when compiled with -XX:-UseSuperWord, which suggests that the bug is in this C2 sub-component.