RFR: 8293991: java/lang/Float/Binary16ConversionNaN.java fails on silent NaN conversions

Raffaello Giulietti duke at openjdk.org
Thu Sep 22 13:30:19 UTC 2022


On Mon, 19 Sep 2022 10:25:50 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Reliably reproduces on x86-32 with FPU:
> 
> 
> $ CONF=linux-x86-server-fastdebug make test TEST=java/lang/Float/Binary16ConversionNaN.java TEST_VM_OPTS="-XX:UseAVX=0 -XX:UseSSE=0"
> ...
> Roundtrip failure on NaN value 7de2 got back 7fe2
> Roundtrip failure on NaN value fde2 got back ffe2
> 
> 
> Since there are many NaN values in FP16 -- basically any non-zero significand works, we should probably just relax the test a bit.
> 
> Attn @jddarcy ;)
> 
> Additional testing:
>  - [x] Linux x86_32 fastdebug, `-XX:UseAVX=0 -XX:UseSSE=0`, affected test now passes
>  - [x]  Linux x86_64 fastdebug, affected test still passes

test/jdk/java/lang/Float/Binary16ConversionNaN.java line 81:

> 79: 
> 80:     private static int sign(short binary16) {
> 81:         return (binary16 & 0xf000);

I think this should read
`return binary16 & 0x8000;`

-------------

PR: https://git.openjdk.org/jdk/pull/10333


More information about the core-libs-dev mailing list