diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-06 14:16:52 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-06 14:16:52 +0100 |
| commit | 57d6539292327fef86cb7e765c95cbedebec5f29 (patch) | |
| tree | 2cd8b09eab863b0a44710c29f9addbfbd6e25ede | |
| parent | 64922731eca944cc10c89913c82d0a4617f2f590 (diff) | |
| download | box64-57d6539292327fef86cb7e765c95cbedebec5f29.tar.gz box64-57d6539292327fef86cb7e765c95cbedebec5f29.zip | |
Added (partial) 0F AE (M/S/L)FENCE opcodes
| -rw-r--r-- | src/emu/x64run0f.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index 50867d5a..6c68434f 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -84,6 +84,23 @@ int Run0F(x64emu_t *emu, rex_t rex) my_cpuid(emu, tmp32u); break; + case 0xAE: /* Grp Ed (SSE) */ + nextop = F8; + if((nextop&0xF8)==0xE8) { + return 0; /* LFENCE */ + } + if((nextop&0xF8)==0xF0) { + return 0; /* MFENCE */ + } + if((nextop&0xF8)==0xF8) { + return 0; /* SFENCE */ + } + GETED; + switch((nextop>>3)&7) { + default: + return 1; + } + break; case 0xAF: /* IMUL Gd,Ed */ nextop = F8; GETED; |