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.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c
index 005de14b..7011ab6f 100644
--- a/src/emu/x64run660f.c
+++ b/src/emu/x64run660f.c
@@ -641,6 +641,23 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr)
                 for(int i=0; i<4; ++i)

                     GX->ud[i] *= EX->ud[i];

                 break;

+            case 0x41:  /* PHMINPOSUW Gx, Ex */

+                nextop = F8;

+                GETEX(0);

+                GETGX;

+                tmp16u = EX->uw[0];

+                tmp16s = 0;

+                for(int i=1; i<8; ++i) {

+                    if(EX->uw[i]<tmp16u) {

+                        tmp16u = EX->uw[i];

+                        tmp16s = i;

+                    }

+                }

+                GX->q[1] = 0;

+                GX->uw[0] = tmp16u;

+                GX->uw[1] = tmp16s;

+                GX->ud[1] = 0;

+                break;

 

             case 0xDB:  /* AESIMC Gx, Ex */

                 nextop = F8;