OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ | 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ |
6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ | 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ |
7 | 7 |
8 #include <ctype.h> | 8 #include <ctype.h> |
9 | 9 |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 | 302 |
303 #define DEFINE_FUNCTION(FN, REGTYPE, REG, REG2, OP) \ | 303 #define DEFINE_FUNCTION(FN, REGTYPE, REG, REG2, OP) \ |
304 void MacroAssembler::FN(const REGTYPE REG, const REGTYPE REG2, \ | 304 void MacroAssembler::FN(const REGTYPE REG, const REGTYPE REG2, \ |
305 const MemOperand& addr) { \ | 305 const MemOperand& addr) { \ |
306 DCHECK(allow_macro_instructions_); \ | 306 DCHECK(allow_macro_instructions_); \ |
307 LoadStorePairMacro(REG, REG2, addr, OP); \ | 307 LoadStorePairMacro(REG, REG2, addr, OP); \ |
308 } | 308 } |
309 LSPAIR_MACRO_LIST(DEFINE_FUNCTION) | 309 LSPAIR_MACRO_LIST(DEFINE_FUNCTION) |
310 #undef DEFINE_FUNCTION | 310 #undef DEFINE_FUNCTION |
311 | 311 |
| 312 #define DECLARE_FUNCTION(FN, OP) \ |
| 313 void MacroAssembler::FN(const Register& rt, const Register& rn) { \ |
| 314 DCHECK(allow_macro_instructions_); \ |
| 315 OP(rt, rn); \ |
| 316 } |
| 317 LDA_STL_MACRO_LIST(DECLARE_FUNCTION) |
| 318 #undef DECLARE_FUNCTION |
| 319 |
| 320 #define DECLARE_FUNCTION(FN, OP) \ |
| 321 void MacroAssembler::FN(const Register& rs, const Register& rt, \ |
| 322 const Register& rn) { \ |
| 323 DCHECK(allow_macro_instructions_); \ |
| 324 OP(rs, rt, rn); \ |
| 325 } |
| 326 STLX_MACRO_LIST(DECLARE_FUNCTION) |
| 327 #undef DECLARE_FUNCTION |
312 | 328 |
313 void MacroAssembler::Asr(const Register& rd, | 329 void MacroAssembler::Asr(const Register& rd, |
314 const Register& rn, | 330 const Register& rn, |
315 unsigned shift) { | 331 unsigned shift) { |
316 DCHECK(allow_macro_instructions_); | 332 DCHECK(allow_macro_instructions_); |
317 DCHECK(!rd.IsZero()); | 333 DCHECK(!rd.IsZero()); |
318 asr(rd, rn, shift); | 334 asr(rd, rn, shift); |
319 } | 335 } |
320 | 336 |
321 | 337 |
(...skipping 1336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1658 DCHECK(isprint(marker_name[0]) && isprint(marker_name[1])); | 1674 DCHECK(isprint(marker_name[0]) && isprint(marker_name[1])); |
1659 | 1675 |
1660 InstructionAccurateScope scope(this, 1); | 1676 InstructionAccurateScope scope(this, 1); |
1661 movn(xzr, (marker_name[1] << 8) | marker_name[0]); | 1677 movn(xzr, (marker_name[1] << 8) | marker_name[0]); |
1662 } | 1678 } |
1663 | 1679 |
1664 } // namespace internal | 1680 } // namespace internal |
1665 } // namespace v8 | 1681 } // namespace v8 |
1666 | 1682 |
1667 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ | 1683 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ |
OLD | NEW |