On Mon, 19 Sep 2022 10:25:50 GMT, Aleksey Shipilev <sh...@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 27: > 25: * @test > 26: * @bug 8289551 > 27: * @library /test/lib If we want to simply not run this test on x87, that could be done using jtreg @requires tags. For example * @requires vm.bits == "64" if this is only an issue for 32-bit x86 or something based on requiring os.arch values. The companion test [Binary16Conversion.java](https://github.com/openjdk/jdk/blob/master/test/jdk/java/lang/Float/Binary16Conversion.java) tests the NaN handling contract required by the specification. ------------- PR: https://git.openjdk.org/jdk/pull/10333