On Tue, 7 Mar 2023 18:28:46 GMT, Jatin Bhateja <jbhat...@openjdk.org> wrote:

>> @sviswa7 I update changes based on your comments. Please, look: 
>> [9302d4b](https://github.com/openjdk/jdk/pull/12869/commits/9302d4bc00f8f1d8e774a260eb6aacb2d51a2dd4)
>
> Hi @vnkozlov , There is some discrepancy in results b/w interpreter, C1 and 
> C2 for following case.
> 
> public class Foo {
>   public static short bar(float f) {return Float.floatToFloat16(f);}
>   public static void main(String[] args) {
>        
> System.out.println(Float.floatToRawIntBits(Float.float16ToFloat((short) 
> 31745)));
>        System.out.println(bar(Float.float16ToFloat((short) 31745)));
>   }
> }
> 
> CPROMPT>java  -Xint -cp . Foo
> 2143297536                                                       // FP32 QNaN 
> + significand preserved
> 32257                                                            // FP16 QNaN 
> + significand preserved
> CPROMPT>java -Xbatch -Xcomp -cp . Foo
> 2139103232                                                       // FP32 SNaN 
> + significand preserved
> 31745                                                            // FP16 SNaN 
> + significand preserved
> CPROMPT>java -XX:-TieredCompilation -Xbatch -Xcomp -cp . Foo
> 2139103232                                                       // FP32  
> SNaN + significand preserved
> 32257                                                            // FP16  
> QNaN + significand preserved.

@jatin-bhateja  I applied the fix. Please, verify.

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

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

Reply via email to