summaryrefslogtreecommitdiffstats
path: root/compiler/utils/x86/assembler_x86.cc
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2015-04-08 16:07:41 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-04-08 16:07:41 +0000
commit9d0ab6f0a2f08c3fa9a59e0b8742cf366d7d0feb (patch)
tree5b05ed14a1aa514a1887dd4268f61209087716e1 /compiler/utils/x86/assembler_x86.cc
parentcde8e5da3e774a2494b051043130c0495eca09ef (diff)
parent58d25fd052e999a24734b0cf856a1563e3d1b2d0 (diff)
downloadart-9d0ab6f0a2f08c3fa9a59e0b8742cf366d7d0feb.tar.gz
art-9d0ab6f0a2f08c3fa9a59e0b8742cf366d7d0feb.tar.bz2
art-9d0ab6f0a2f08c3fa9a59e0b8742cf366d7d0feb.zip
Merge "[optimizing] Implement more x86/x86_64 intrinsics"
Diffstat (limited to 'compiler/utils/x86/assembler_x86.cc')
-rw-r--r--compiler/utils/x86/assembler_x86.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/utils/x86/assembler_x86.cc b/compiler/utils/x86/assembler_x86.cc
index 4b71412193..4cca529258 100644
--- a/compiler/utils/x86/assembler_x86.cc
+++ b/compiler/utils/x86/assembler_x86.cc
@@ -1466,6 +1466,15 @@ void X86Assembler::cmpxchgl(const Address& address, Register reg) {
EmitOperand(reg, address);
}
+
+void X86Assembler::cmpxchg8b(const Address& address) {
+ AssemblerBuffer::EnsureCapacity ensured(&buffer_);
+ EmitUint8(0x0F);
+ EmitUint8(0xC7);
+ EmitOperand(1, address);
+}
+
+
void X86Assembler::mfence() {
AssemblerBuffer::EnsureCapacity ensured(&buffer_);
EmitUint8(0x0F);