1377
int32_t arg1_exp = extractFloatx80Exp(ST1);
1378
bool arg1_sign = extractFloatx80Sign(ST1);
1379
1380
- if (floatx80_is_signaling_nan(ST0, &env->fp_status)) {
1380
+ if (floatx80_invalid_encoding(ST0, &env->fp_status) ||
1381
+ floatx80_invalid_encoding(ST1, &env->fp_status)) {
1382
+ float_raise(float_flag_invalid, &env->fp_status);
1383
+ ST1 = floatx80_default_nan(&env->fp_status);
1384
+ } else if (floatx80_is_signaling_nan(ST0, &env->fp_status)) {
1385
float_raise(float_flag_invalid, &env->fp_status);
1386
ST1 = floatx80_silence_nan(ST0, &env->fp_status);
1387
} else if (floatx80_is_signaling_nan(ST1, &env->fp_status)) {
1388
float_raise(float_flag_invalid, &env->fp_status);
1389
ST1 = floatx80_silence_nan(ST1, &env->fp_status);
1386
- } else if (floatx80_invalid_encoding(ST0, &env->fp_status) ||
1387
- floatx80_invalid_encoding(ST1, &env->fp_status)) {
1388
- float_raise(float_flag_invalid, &env->fp_status);
1389
- ST1 = floatx80_default_nan(&env->fp_status);
1390
} else if (floatx80_is_any_nan(ST0)) {
1391
ST1 = ST0;
1392
} else if (floatx80_is_any_nan(ST1)) {
2061
int32_t arg1_exp = extractFloatx80Exp(ST1);
2062
bool arg1_sign = extractFloatx80Sign(ST1);
2063
2064
- if (floatx80_is_signaling_nan(ST0, &env->fp_status)) {
2064
+ if (floatx80_invalid_encoding(ST0, &env->fp_status) ||
2065
+ floatx80_invalid_encoding(ST1, &env->fp_status)) {
2066
+ float_raise(float_flag_invalid, &env->fp_status);
2067
+ ST1 = floatx80_default_nan(&env->fp_status);
2068
+ } else if (floatx80_is_signaling_nan(ST0, &env->fp_status)) {
2069
float_raise(float_flag_invalid, &env->fp_status);
2070
ST1 = floatx80_silence_nan(ST0, &env->fp_status);
2071
} else if (floatx80_is_signaling_nan(ST1, &env->fp_status)) {
2072
float_raise(float_flag_invalid, &env->fp_status);
2073
ST1 = floatx80_silence_nan(ST1, &env->fp_status);
2070
- } else if (floatx80_invalid_encoding(ST0, &env->fp_status) ||
2071
- floatx80_invalid_encoding(ST1, &env->fp_status)) {
2072
- float_raise(float_flag_invalid, &env->fp_status);
2073
- ST1 = floatx80_default_nan(&env->fp_status);
2074
} else if (floatx80_is_any_nan(ST0)) {
2075
ST1 = ST0;
2076
} else if (floatx80_is_any_nan(ST1)) {
2159
int32_t arg1_exp = extractFloatx80Exp(ST1);
2160
bool arg1_sign = extractFloatx80Sign(ST1);
2161
2162
- if (floatx80_is_signaling_nan(ST0, &env->fp_status)) {
2162
+ if (floatx80_invalid_encoding(ST0, &env->fp_status) ||
2163
+ floatx80_invalid_encoding(ST1, &env->fp_status)) {
2164
+ float_raise(float_flag_invalid, &env->fp_status);
2165
+ ST1 = floatx80_default_nan(&env->fp_status);
2166
+ } else if (floatx80_is_signaling_nan(ST0, &env->fp_status)) {
2167
float_raise(float_flag_invalid, &env->fp_status);
2168
ST1 = floatx80_silence_nan(ST0, &env->fp_status);
2169
} else if (floatx80_is_signaling_nan(ST1, &env->fp_status)) {
2170
float_raise(float_flag_invalid, &env->fp_status);
2171
ST1 = floatx80_silence_nan(ST1, &env->fp_status);
2168
- } else if (floatx80_invalid_encoding(ST0, &env->fp_status) ||
2169
- floatx80_invalid_encoding(ST1, &env->fp_status)) {
2170
- float_raise(float_flag_invalid, &env->fp_status);
2171
- ST1 = floatx80_default_nan(&env->fp_status);
2172
} else if (floatx80_is_any_nan(ST0)) {
2173
ST1 = ST0;
2174
} else if (floatx80_is_any_nan(ST1)) {