File tree Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -65,9 +65,24 @@ float8_t f16_to_f8( float16_t a )
6565 if ( exp == 0xFF ) {
6666 if ( frac ) {
6767 softfloat_f16UIToCommonNaN ( uiA , & commonNaN );
68- uiZ = softfloat_commonNaNToF8UI ( & commonNaN );
68+ switch ( softfloat_fp8Mode ) {
69+ case softfloat_fp8_e4m3 :
70+ uiZ = softfloat_commonNaNToE4M3F8UI ( & commonNaN );
71+ case softfloat_fp8_e5m2 :
72+ uiZ = softfloat_commonNaNToE5M2F8UI ( & commonNaN );
73+ default :
74+ uiZ = softfloat_commonNaNToF8UI ( & commonNaN );
75+ }
6976 } else {
70- uiZ = signInfF8UI ( sign );
77+ switch ( softfloat_fp8Mode ) {
78+ case softfloat_fp8_e4m3 :
79+ // Assuming overflow mode (Inf --> NaN)
80+ uiZ = softfloat_commonNaNToE4M3F8UI ( & commonNaN );
81+ case softfloat_fp8_e5m2 :
82+ uiZ = signInfE5M2F8UI ( sign );
83+ default :
84+ uiZ = signInfF8UI ( sign );
85+ }
7186 }
7287 goto uiZ ;
7388 }
You can’t perform that action at this time.
0 commit comments