On 6/19/19 9:56 AM, David Brenken wrote:
+
+        result = 0;
+        result = deposit32(result, 31, 1, new_S);
+        result = deposit32(result, 23, 8, new_E);
+        result = deposit32(result, 15, 8, new_M);
+    }
+
+    if (float32_is_any_nan(arg1) || result == float32_sqrt_nan) {


You need float32_is_signaling_nan, since only signaling nan raises the invalid flag.


+        env->FPU_FI = 1;

env->FPU_FI = 1 << 31;

See f_update_psw_flags(). FPU_FIĀ  and PSW_V are the same and we defined bit 31 as the V bit for optimization purposes.

Cheers,

Bastian


Reply via email to