summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authormagumagu9 <magumagu9@gmail.com>2009-01-02 04:34:23 +0000
committermagumagu9 <magumagu9@gmail.com>2009-01-02 04:34:23 +0000
commitdbd9d5fb2d77d3f22072ccba7712f90b3c09104d (patch)
tree06c78e168f4fbde31df565f22ab2697fa816f4cd /Source/Core
parent232fe7453666f1056d128f8a0ef1e338cb1cc3a0 (diff)
Fix assembly of 16-bit immediates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1732 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Common/Src/x64Emitter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/Common/Src/x64Emitter.cpp b/Source/Core/Common/Src/x64Emitter.cpp
index abd6bb13ec..b627825ed9 100644
--- a/Source/Core/Common/Src/x64Emitter.cpp
+++ b/Source/Core/Common/Src/x64Emitter.cpp
@@ -832,7 +832,7 @@ enum NormalSSEOps
(operand.scale == SCALE_IMM32 && bits == 64))
{
emit->Write8(nops[op].imm32);
- immToWrite = 32;
+ immToWrite = bits == 16 ? 16 : 32;
}
else if ((operand.scale == SCALE_IMM8 && bits == 16) ||
(operand.scale == SCALE_IMM8 && bits == 32) ||
@@ -881,6 +881,9 @@ enum NormalSSEOps
case 8:
emit->Write8((u8)operand.offset);
break;
+ case 16:
+ emit->Write16((u16)operand.offset);
+ break;
case 32:
emit->Write32((u32)operand.offset);
break;