about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run660f.c10
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;