OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ | 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ |
6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ | 6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/base/flags.h" | 10 #include "src/base/flags.h" |
(...skipping 1078 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 | 1089 |
1090 void Tzcntl(Register dst, Register src); | 1090 void Tzcntl(Register dst, Register src); |
1091 void Tzcntl(Register dst, const Operand& src); | 1091 void Tzcntl(Register dst, const Operand& src); |
1092 | 1092 |
1093 void Popcntl(Register dst, Register src); | 1093 void Popcntl(Register dst, Register src); |
1094 void Popcntl(Register dst, const Operand& src); | 1094 void Popcntl(Register dst, const Operand& src); |
1095 | 1095 |
1096 void Popcntq(Register dst, Register src); | 1096 void Popcntq(Register dst, Register src); |
1097 void Popcntq(Register dst, const Operand& src); | 1097 void Popcntq(Register dst, const Operand& src); |
1098 | 1098 |
| 1099 void Pshufd(XMMRegister dst, XMMRegister src, uint8_t shuffle); |
| 1100 |
1099 // Non-x64 instructions. | 1101 // Non-x64 instructions. |
1100 // Push/pop all general purpose registers. | 1102 // Push/pop all general purpose registers. |
1101 // Does not push rsp/rbp nor any of the assembler's special purpose registers | 1103 // Does not push rsp/rbp nor any of the assembler's special purpose registers |
1102 // (kScratchRegister, kRootRegister). | 1104 // (kScratchRegister, kRootRegister). |
1103 void Pushad(); | 1105 void Pushad(); |
1104 void Popad(); | 1106 void Popad(); |
1105 // Sets the stack as after performing Popad, without actually loading the | 1107 // Sets the stack as after performing Popad, without actually loading the |
1106 // registers. | 1108 // registers. |
1107 void Dropad(); | 1109 void Dropad(); |
1108 | 1110 |
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1679 inline Operand StackOperandForReturnAddress(int32_t disp) { | 1681 inline Operand StackOperandForReturnAddress(int32_t disp) { |
1680 return Operand(rsp, disp); | 1682 return Operand(rsp, disp); |
1681 } | 1683 } |
1682 | 1684 |
1683 #define ACCESS_MASM(masm) masm-> | 1685 #define ACCESS_MASM(masm) masm-> |
1684 | 1686 |
1685 } // namespace internal | 1687 } // namespace internal |
1686 } // namespace v8 | 1688 } // namespace v8 |
1687 | 1689 |
1688 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1690 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |