From abdac47c3c471d034a5b81aec35bf4201ba86a88 Mon Sep 17 00:00:00 2001 From: Mark Mendell Date: Fri, 12 Feb 2016 13:49:03 -0500 Subject: 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 --- compiler/utils/x86/assembler_x86.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'compiler/utils/x86/assembler_x86.cc') 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); -- cgit v1.2.3-59-g8ed1b