summaryrefslogtreecommitdiff
path: root/Source/Core/Common
diff options
context:
space:
mode:
authorPierre <pierre@pirsoft.de>2012-08-25 01:00:13 +0200
committerPierre <pierre@pirsoft.de>2013-04-14 13:34:29 +0200
commit6b5b8ab5bee7283281e53df40ebc881570dc74fa (patch)
tree5c4650860ad78cc3dedd84525b0da036e6758ee4 /Source/Core/Common
parent701b5916ababc24ca62910d6874d9d31c037ee93 (diff)
Implement and use MOVZX(64, 32,...)
Probably better to keep that same-register-MOV assert useful. Also, explicit type extension documents whats happening. Internally, this boils down to the original MOV, but without the assert.
Diffstat (limited to 'Source/Core/Common')
-rw-r--r--Source/Core/Common/Src/x64Emitter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Core/Common/Src/x64Emitter.cpp b/Source/Core/Common/Src/x64Emitter.cpp
index 022115a40a..e79f73fcca 100644
--- a/Source/Core/Common/Src/x64Emitter.cpp
+++ b/Source/Core/Common/Src/x64Emitter.cpp
@@ -768,6 +768,10 @@ void XEmitter::MOVZX(int dbits, int sbits, X64Reg dest, OpArg src)
Write8(0x0F);
Write8(0xB7);
}
+ else if (sbits == 32 && dbits == 64)
+ {
+ Write8(0x8B);
+ }
else
{
Crash();