summaryrefslogtreecommitdiff
path: root/compiler/utils/x86/assembler_x86.cc
diff options
context:
space:
mode:
author Mark Mendell <mark.p.mendell@intel.com> 2016-02-12 13:49:03 -0500
committer Mark Mendell <mark.p.mendell@intel.com> 2016-02-12 14:45:35 -0500
commitabdac47c3c471d034a5b81aec35bf4201ba86a88 (patch)
treef55cb2462ed5e8f79871b96ed5ff0bc6f6d52da6 /compiler/utils/x86/assembler_x86.cc
parentb9adbf63f880f246d83b3af4ca03aca07711f857 (diff)
Add X86/X86_64 support for CMOV from memory.
Add support for the memory form of CMOV. Add tests. Change-Id: Ib9f5dbd3031c7e235ee3f2afdb7db75eed46277a Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Diffstat (limited to 'compiler/utils/x86/assembler_x86.cc')
-rw-r--r--compiler/utils/x86/assembler_x86.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/utils/x86/assembler_x86.cc b/compiler/utils/x86/assembler_x86.cc
index 7138a46890..3efef70f77 100644
--- a/compiler/utils/x86/assembler_x86.cc
+++ b/compiler/utils/x86/assembler_x86.cc
@@ -326,6 +326,14 @@ void X86Assembler::cmovl(Condition condition, Register dst, Register src) {
}
+void X86Assembler::cmovl(Condition condition, Register dst, const Address& src) {
+ AssemblerBuffer::EnsureCapacity ensured(&buffer_);
+ EmitUint8(0x0F);
+ EmitUint8(0x40 + condition);
+ EmitOperand(dst, src);
+}
+
+
void X86Assembler::setb(Condition condition, Register dst) {
AssemblerBuffer::EnsureCapacity ensured(&buffer_);
EmitUint8(0x0F);