OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 #ifndef VM_ASSEMBLER_X64_H_ | 5 #ifndef VM_ASSEMBLER_X64_H_ |
6 #define VM_ASSEMBLER_X64_H_ | 6 #define VM_ASSEMBLER_X64_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_x64.h directly; use assembler.h instead. | 9 #error Do not include assembler_x64.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 | 373 |
374 void andl(Register dst, Register src); | 374 void andl(Register dst, Register src); |
375 void andl(Register dst, const Immediate& imm); | 375 void andl(Register dst, const Immediate& imm); |
376 | 376 |
377 void orl(Register dst, Register src); | 377 void orl(Register dst, Register src); |
378 void orl(Register dst, const Immediate& imm); | 378 void orl(Register dst, const Immediate& imm); |
379 | 379 |
380 void xorl(Register dst, Register src); | 380 void xorl(Register dst, Register src); |
381 | 381 |
382 void andq(Register dst, Register src); | 382 void andq(Register dst, Register src); |
| 383 void andq(Register dst, const Address& address); |
383 void andq(Register dst, const Immediate& imm); | 384 void andq(Register dst, const Immediate& imm); |
384 | 385 |
385 void orq(Register dst, Register src); | 386 void orq(Register dst, Register src); |
| 387 void orq(Register dst, const Address& address); |
386 void orq(Register dst, const Immediate& imm); | 388 void orq(Register dst, const Immediate& imm); |
387 | 389 |
388 void xorq(Register dst, Register src); | 390 void xorq(Register dst, Register src); |
| 391 void xorq(Register dst, const Address& address); |
389 | 392 |
390 void addl(Register dst, Register src); | 393 void addl(Register dst, Register src); |
391 void addl(const Address& address, const Immediate& imm); | 394 void addl(const Address& address, const Immediate& imm); |
392 | 395 |
393 void addq(Register dst, Register src); | 396 void addq(Register dst, Register src); |
394 void addq(Register reg, const Immediate& imm); | 397 void addq(Register reg, const Immediate& imm); |
| 398 void addq(Register reg, const Address& address); |
395 void addq(const Address& address, const Immediate& imm); | 399 void addq(const Address& address, const Immediate& imm); |
396 void addq(const Address& address, Register reg); | 400 void addq(const Address& address, Register reg); |
397 | 401 |
398 void adcl(Register dst, Register src); | 402 void adcl(Register dst, Register src); |
399 | 403 |
400 void subl(Register dst, Register src); | 404 void subl(Register dst, Register src); |
401 | 405 |
402 void cdq(); | 406 void cdq(); |
403 void cqo(); | 407 void cqo(); |
404 | 408 |
405 void idivl(Register reg); | 409 void idivl(Register reg); |
406 void idivq(Register reg); | 410 void idivq(Register reg); |
407 | 411 |
408 void imull(Register dst, Register src); | 412 void imull(Register dst, Register src); |
409 void imull(Register reg, const Immediate& imm); | 413 void imull(Register reg, const Immediate& imm); |
410 | 414 |
411 void imulq(Register dst, Register src); | 415 void imulq(Register dst, Register src); |
| 416 void imulq(Register dst, const Address& address); |
412 | 417 |
413 void subq(Register dst, Register src); | 418 void subq(Register dst, Register src); |
414 void subq(Register reg, const Immediate& imm); | 419 void subq(Register reg, const Immediate& imm); |
415 void subq(Register reg, const Address& address); | 420 void subq(Register reg, const Address& address); |
416 | 421 |
417 void shll(Register reg, const Immediate& imm); | 422 void shll(Register reg, const Immediate& imm); |
418 void shll(Register operand, Register shifter); | 423 void shll(Register operand, Register shifter); |
419 void shrl(Register reg, const Immediate& imm); | 424 void shrl(Register reg, const Immediate& imm); |
420 void shrl(Register operand, Register shifter); | 425 void shrl(Register operand, Register shifter); |
421 void sarl(Register reg, const Immediate& imm); | 426 void sarl(Register reg, const Immediate& imm); |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
671 } | 676 } |
672 | 677 |
673 | 678 |
674 inline void Assembler::EmitOperandSizeOverride() { | 679 inline void Assembler::EmitOperandSizeOverride() { |
675 EmitUint8(0x66); | 680 EmitUint8(0x66); |
676 } | 681 } |
677 | 682 |
678 } // namespace dart | 683 } // namespace dart |
679 | 684 |
680 #endif // VM_ASSEMBLER_X64_H_ | 685 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |