summaryrefslogtreecommitdiff
path: root/compiler/utils
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils')
-rw-r--r--compiler/utils/x86_64/assembler_x86_64.cc7
-rw-r--r--compiler/utils/x86_64/assembler_x86_64.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/compiler/utils/x86_64/assembler_x86_64.cc b/compiler/utils/x86_64/assembler_x86_64.cc
index f4c9862f93..f164138168 100644
--- a/compiler/utils/x86_64/assembler_x86_64.cc
+++ b/compiler/utils/x86_64/assembler_x86_64.cc
@@ -1340,6 +1340,13 @@ void X86_64Assembler::negl(CpuRegister reg) {
EmitOperand(3, Operand(reg));
}
+void X86_64Assembler::negq(CpuRegister reg) {
+ AssemblerBuffer::EnsureCapacity ensured(&buffer_);
+ EmitRex64(reg);
+ EmitUint8(0xF7);
+ EmitOperand(3, Operand(reg));
+}
+
void X86_64Assembler::notl(CpuRegister reg) {
AssemblerBuffer::EnsureCapacity ensured(&buffer_);
diff --git a/compiler/utils/x86_64/assembler_x86_64.h b/compiler/utils/x86_64/assembler_x86_64.h
index 92b81ec2e7..ec29271b5e 100644
--- a/compiler/utils/x86_64/assembler_x86_64.h
+++ b/compiler/utils/x86_64/assembler_x86_64.h
@@ -450,6 +450,7 @@ class X86_64Assembler FINAL : public Assembler {
void shrq(CpuRegister reg, const Immediate& imm);
void negl(CpuRegister reg);
+ void negq(CpuRegister reg);
void notl(CpuRegister reg);
void enter(const Immediate& imm);