| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 // | 4 // |
| 5 // Modified by the Subzero authors. | 5 // Modified by the Subzero authors. |
| 6 // | 6 // |
| 7 //===- subzero/src/assembler_ia32.cpp - Assembler for x86-32 -------------===// | 7 //===- subzero/src/assembler_ia32.cpp - Assembler for x86-32 -------------===// |
| 8 // | 8 // |
| 9 // The Subzero Code Generator | 9 // The Subzero Code Generator |
| 10 // | 10 // |
| (...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 796 EmitOperand(dst, src); | 796 EmitOperand(dst, src); |
| 797 } | 797 } |
| 798 | 798 |
| 799 void AssemblerX86::orps(XmmRegister dst, XmmRegister src) { | 799 void AssemblerX86::orps(XmmRegister dst, XmmRegister src) { |
| 800 AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 800 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 801 EmitUint8(0x0F); | 801 EmitUint8(0x0F); |
| 802 EmitUint8(0x56); | 802 EmitUint8(0x56); |
| 803 EmitXmmRegisterOperand(dst, src); | 803 EmitXmmRegisterOperand(dst, src); |
| 804 } | 804 } |
| 805 | 805 |
| 806 void AssemblerX86::blendvps(Type /* Ty */, XmmRegister dst, XmmRegister src) { |
| 807 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 808 EmitUint8(0x66); |
| 809 EmitUint8(0x0F); |
| 810 EmitUint8(0x38); |
| 811 EmitUint8(0x14); |
| 812 EmitXmmRegisterOperand(dst, src); |
| 813 } |
| 814 |
| 815 void AssemblerX86::blendvps(Type /* Ty */, XmmRegister dst, |
| 816 const Address &src) { |
| 817 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 818 EmitUint8(0x66); |
| 819 EmitUint8(0x0F); |
| 820 EmitUint8(0x38); |
| 821 EmitUint8(0x14); |
| 822 EmitOperand(dst, src); |
| 823 } |
| 824 |
| 825 void AssemblerX86::pblendvb(Type /* Ty */, XmmRegister dst, XmmRegister src) { |
| 826 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 827 EmitUint8(0x66); |
| 828 EmitUint8(0x0F); |
| 829 EmitUint8(0x38); |
| 830 EmitUint8(0x10); |
| 831 EmitXmmRegisterOperand(dst, src); |
| 832 } |
| 833 |
| 834 void AssemblerX86::pblendvb(Type /* Ty */, XmmRegister dst, |
| 835 const Address &src) { |
| 836 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 837 EmitUint8(0x66); |
| 838 EmitUint8(0x0F); |
| 839 EmitUint8(0x38); |
| 840 EmitUint8(0x10); |
| 841 EmitOperand(dst, src); |
| 842 } |
| 843 |
| 806 void AssemblerX86::cmpps(XmmRegister dst, XmmRegister src, | 844 void AssemblerX86::cmpps(XmmRegister dst, XmmRegister src, |
| 807 CondX86::CmppsCond CmpCondition) { | 845 CondX86::CmppsCond CmpCondition) { |
| 808 AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 846 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 809 EmitUint8(0x0F); | 847 EmitUint8(0x0F); |
| 810 EmitUint8(0xC2); | 848 EmitUint8(0xC2); |
| 811 EmitXmmRegisterOperand(dst, src); | 849 EmitXmmRegisterOperand(dst, src); |
| 812 EmitUint8(CmpCondition); | 850 EmitUint8(CmpCondition); |
| 813 } | 851 } |
| 814 | 852 |
| 815 void AssemblerX86::cmpps(XmmRegister dst, const Address &src, | 853 void AssemblerX86::cmpps(XmmRegister dst, const Address &src, |
| (...skipping 1499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2315 assert(shifter == RegX8632::Encoded_Reg_ecx); | 2353 assert(shifter == RegX8632::Encoded_Reg_ecx); |
| 2316 (void)shifter; | 2354 (void)shifter; |
| 2317 if (Ty == IceType_i16) | 2355 if (Ty == IceType_i16) |
| 2318 EmitOperandSizeOverride(); | 2356 EmitOperandSizeOverride(); |
| 2319 EmitUint8(isByteSizedArithType(Ty) ? 0xD2 : 0xD3); | 2357 EmitUint8(isByteSizedArithType(Ty) ? 0xD2 : 0xD3); |
| 2320 EmitOperand(rm, operand); | 2358 EmitOperand(rm, operand); |
| 2321 } | 2359 } |
| 2322 | 2360 |
| 2323 } // end of namespace x86 | 2361 } // end of namespace x86 |
| 2324 } // end of namespace Ice | 2362 } // end of namespace Ice |
| OLD | NEW |