diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-09 10:28:50 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-11 14:23:38 +0000 |
commit | 234d69d075d1608f80adb647f7935077b62b6376 (patch) | |
tree | f6b68ff38722dc91bd0de2387609ee0ce950e0ce /compiler/utils/x86/assembler_x86.cc | |
parent | 31df246d330c45f5691e226d176d0c59450f8435 (diff) | |
download | android_art-234d69d075d1608f80adb647f7935077b62b6376.tar.gz android_art-234d69d075d1608f80adb647f7935077b62b6376.tar.bz2 android_art-234d69d075d1608f80adb647f7935077b62b6376.zip |
Revert "Revert "[optimizing] Enable x86 long support.""
This reverts commit 154552e666347d41d95d7619c6ee56249ff4feca.
Change-Id: Idc726551c249a888b7ff5fde8508ae50e81b2e13
Diffstat (limited to 'compiler/utils/x86/assembler_x86.cc')
-rw-r--r-- | compiler/utils/x86/assembler_x86.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/compiler/utils/x86/assembler_x86.cc b/compiler/utils/x86/assembler_x86.cc index 8f4208b417..90170ceed5 100644 --- a/compiler/utils/x86/assembler_x86.cc +++ b/compiler/utils/x86/assembler_x86.cc @@ -451,6 +451,36 @@ void X86Assembler::movsd(XmmRegister dst, XmmRegister src) { } +void X86Assembler::movhpd(XmmRegister dst, const Address& src) { + AssemblerBuffer::EnsureCapacity ensured(&buffer_); + EmitUint8(0x66); + EmitUint8(0x0F); + EmitUint8(0x16); + EmitOperand(dst, src); +} + + +void X86Assembler::movhpd(const Address& dst, XmmRegister src) { + AssemblerBuffer::EnsureCapacity ensured(&buffer_); + EmitUint8(0x66); + EmitUint8(0x0F); + EmitUint8(0x17); + EmitOperand(src, dst); +} + + +void X86Assembler::psrldq(XmmRegister reg, const Immediate& shift_count) { + DCHECK(shift_count.is_uint8()); + + AssemblerBuffer::EnsureCapacity ensured(&buffer_); + EmitUint8(0x66); + EmitUint8(0x0F); + EmitUint8(0x73); + EmitXmmRegisterOperand(3, reg); + EmitUint8(shift_count.value()); +} + + void X86Assembler::psrlq(XmmRegister reg, const Immediate& shift_count) { DCHECK(shift_count.is_uint8()); |