diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-04-08 10:47:42 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-04-08 10:47:42 +0200 |
| commit | 2092da29076801111338a4bfa83b59e8e0f8c32d (patch) | |
| tree | 9622d6e9f332e1030e27536159c95e2a90aa7069 /src | |
| parent | 9b9e489b61040780c85c11338f6b25b80b923b09 (diff) | |
| download | box64-2092da29076801111338a4bfa83b59e8e0f8c32d.tar.gz box64-2092da29076801111338a4bfa83b59e8e0f8c32d.zip | |
Fixed 66 0F 3A 08/09/0A/0B opcode
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run660f.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index 33ba2c8f..448cdf65 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -756,7 +756,7 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) break; case ROUND_Chop: for(int i=0; i<4; ++i) - GX->f[i] = EX->f[i]; + GX->f[i] = truncf(EX->f[i]); break; } break; @@ -783,8 +783,8 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) GX->d[1] = ceil(EX->d[1]); break; case ROUND_Chop: - GX->d[0] = EX->d[0]; - GX->d[1] = EX->d[1]; + GX->d[0] = trunc(EX->d[0]); + GX->d[1] = trunc(EX->d[1]); break; } break; @@ -808,7 +808,7 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) GX->f[0] = ceilf(EX->f[0]); break; case ROUND_Chop: - GX->f[0] = EX->f[0]; + GX->f[0] = truncf(EX->f[0]); break; } break; @@ -832,7 +832,7 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) GX->d[0] = ceil(EX->d[0]); break; case ROUND_Chop: - GX->d[0] = EX->d[0]; + GX->d[0] = trunc(EX->d[0]); break; } break; |