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 )
65
65
if ( exp == 0xFF ) {
66
66
if ( frac ) {
67
67
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
+ }
69
76
} 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
+ }
71
86
}
72
87
goto uiZ ;
73
88
}
You can’t perform that action at this time.
0 commit comments