diff options
| author | Ajax <commial@gmail.com> | 2015-11-10 17:48:34 +0100 |
|---|---|---|
| committer | Ajax <commial@gmail.com> | 2015-11-10 17:48:34 +0100 |
| commit | c093394ac0b7b4384cf8ee5514d47cc420aee447 (patch) | |
| tree | 9011deba57d5b629bfdc196c85e0a1e8bb49774b /miasm2/jitter/vm_mngr.c | |
| parent | f7a3aa042192a38ecbd37842a8808783f4b15dba (diff) | |
| download | miasm-c093394ac0b7b4384cf8ee5514d47cc420aee447.tar.gz miasm-c093394ac0b7b4384cf8ee5514d47cc420aee447.zip | |
x86/TCC: handle NaN case in `fcom`
Diffstat (limited to 'miasm2/jitter/vm_mngr.c')
| -rw-r--r-- | miasm2/jitter/vm_mngr.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/miasm2/jitter/vm_mngr.c b/miasm2/jitter/vm_mngr.c index ee7a2826..6b248bcb 100644 --- a/miasm2/jitter/vm_mngr.c +++ b/miasm2/jitter/vm_mngr.c @@ -1312,6 +1312,8 @@ double fpatan(double a, double b) unsigned int fcom_c0(double a, double b) { + if (isnan(a) || isnan(b)) + return 1; if (a>=b) return 0; return 1; @@ -1323,10 +1325,14 @@ unsigned int fcom_c1(double a, double b) } unsigned int fcom_c2(double a, double b) { + if (isnan(a) || isnan(b)) + return 1; return 0; } unsigned int fcom_c3(double a, double b) { + if (isnan(a) || isnan(b)) + return 1; if (a==b) return 1; return 0; |