| 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 #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 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 void subss(XmmRegister dst, XmmRegister src); | 376 void subss(XmmRegister dst, XmmRegister src); |
| 377 void mulss(XmmRegister dst, XmmRegister src); | 377 void mulss(XmmRegister dst, XmmRegister src); |
| 378 void divss(XmmRegister dst, XmmRegister src); | 378 void divss(XmmRegister dst, XmmRegister src); |
| 379 | 379 |
| 380 void movsd(XmmRegister dst, const Address& src); | 380 void movsd(XmmRegister dst, const Address& src); |
| 381 void movsd(const Address& dst, XmmRegister src); | 381 void movsd(const Address& dst, XmmRegister src); |
| 382 void movsd(XmmRegister dst, XmmRegister src); | 382 void movsd(XmmRegister dst, XmmRegister src); |
| 383 | 383 |
| 384 void movaps(XmmRegister dst, XmmRegister src); | 384 void movaps(XmmRegister dst, XmmRegister src); |
| 385 | 385 |
| 386 void movups(const Address& dst, XmmRegister src); | |
| 387 void movups(XmmRegister dst, const Address& src); | |
| 388 | |
| 389 void addsd(XmmRegister dst, XmmRegister src); | 386 void addsd(XmmRegister dst, XmmRegister src); |
| 390 void subsd(XmmRegister dst, XmmRegister src); | 387 void subsd(XmmRegister dst, XmmRegister src); |
| 391 void mulsd(XmmRegister dst, XmmRegister src); | 388 void mulsd(XmmRegister dst, XmmRegister src); |
| 392 void divsd(XmmRegister dst, XmmRegister src); | 389 void divsd(XmmRegister dst, XmmRegister src); |
| 393 | 390 |
| 394 void addps(XmmRegister dst, XmmRegister src); | |
| 395 void subps(XmmRegister dst, XmmRegister src); | |
| 396 void divps(XmmRegister dst, XmmRegister src); | |
| 397 void mulps(XmmRegister dst, XmmRegister src); | |
| 398 void minps(XmmRegister dst, XmmRegister src); | |
| 399 void maxps(XmmRegister dst, XmmRegister src); | |
| 400 void andps(XmmRegister dst, XmmRegister src); | |
| 401 void andps(XmmRegister dst, const Address& src); | |
| 402 void orps(XmmRegister dst, XmmRegister src); | |
| 403 void notps(XmmRegister dst); | |
| 404 void negateps(XmmRegister dst); | |
| 405 void absps(XmmRegister dst); | |
| 406 void zerowps(XmmRegister dst); | |
| 407 void cmppseq(XmmRegister dst, XmmRegister src); | |
| 408 void cmppsneq(XmmRegister dst, XmmRegister src); | |
| 409 void cmppslt(XmmRegister dst, XmmRegister src); | |
| 410 void cmppsle(XmmRegister dst, XmmRegister src); | |
| 411 void cmppsnlt(XmmRegister dst, XmmRegister src); | |
| 412 void cmppsnle(XmmRegister dst, XmmRegister src); | |
| 413 void sqrtps(XmmRegister dst); | |
| 414 void rsqrtps(XmmRegister dst); | |
| 415 void reciprocalps(XmmRegister dst); | |
| 416 | |
| 417 void set1ps(XmmRegister dst, Register tmp, const Immediate& imm); | |
| 418 void shufps(XmmRegister dst, XmmRegister src, const Immediate& mask); | |
| 419 | |
| 420 void comisd(XmmRegister a, XmmRegister b); | 391 void comisd(XmmRegister a, XmmRegister b); |
| 421 void cvtsi2sd(XmmRegister a, Register b); | 392 void cvtsi2sd(XmmRegister a, Register b); |
| 422 void cvttsd2siq(Register dst, XmmRegister src); | 393 void cvttsd2siq(Register dst, XmmRegister src); |
| 423 | 394 |
| 424 void cvtss2sd(XmmRegister dst, XmmRegister src); | 395 void cvtss2sd(XmmRegister dst, XmmRegister src); |
| 425 void cvtsd2ss(XmmRegister dst, XmmRegister src); | 396 void cvtsd2ss(XmmRegister dst, XmmRegister src); |
| 426 | 397 |
| 427 void pxor(XmmRegister dst, XmmRegister src); | 398 void pxor(XmmRegister dst, XmmRegister src); |
| 428 | 399 |
| 429 enum RoundingMode { | 400 enum RoundingMode { |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 | 500 |
| 530 void negl(Register reg); | 501 void negl(Register reg); |
| 531 void negq(Register reg); | 502 void negq(Register reg); |
| 532 void notq(Register reg); | 503 void notq(Register reg); |
| 533 | 504 |
| 534 void enter(const Immediate& imm); | 505 void enter(const Immediate& imm); |
| 535 void leave(); | 506 void leave(); |
| 536 void ret(); | 507 void ret(); |
| 537 | 508 |
| 538 void movmskpd(Register dst, XmmRegister src); | 509 void movmskpd(Register dst, XmmRegister src); |
| 539 void movmskps(Register dst, XmmRegister src); | |
| 540 | 510 |
| 541 void sqrtsd(XmmRegister dst, XmmRegister src); | 511 void sqrtsd(XmmRegister dst, XmmRegister src); |
| 542 | 512 |
| 543 void xorpd(XmmRegister dst, const Address& src); | 513 void xorpd(XmmRegister dst, const Address& src); |
| 544 void xorpd(XmmRegister dst, XmmRegister src); | 514 void xorpd(XmmRegister dst, XmmRegister src); |
| 545 | 515 |
| 546 void xorps(XmmRegister dst, const Address& src); | |
| 547 void xorps(XmmRegister dst, XmmRegister src); | |
| 548 | |
| 549 void andpd(XmmRegister dst, const Address& src); | 516 void andpd(XmmRegister dst, const Address& src); |
| 550 | 517 |
| 551 void fldl(const Address& src); | 518 void fldl(const Address& src); |
| 552 void fstpl(const Address& dst); | 519 void fstpl(const Address& dst); |
| 553 | 520 |
| 554 void fildl(const Address& src); | 521 void fildl(const Address& src); |
| 555 | 522 |
| 556 void fincstp(); | 523 void fincstp(); |
| 557 void ffree(intptr_t value); | 524 void ffree(intptr_t value); |
| 558 | 525 |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 843 } | 810 } |
| 844 | 811 |
| 845 | 812 |
| 846 inline void Assembler::EmitOperandSizeOverride() { | 813 inline void Assembler::EmitOperandSizeOverride() { |
| 847 EmitUint8(0x66); | 814 EmitUint8(0x66); |
| 848 } | 815 } |
| 849 | 816 |
| 850 } // namespace dart | 817 } // namespace dart |
| 851 | 818 |
| 852 #endif // VM_ASSEMBLER_X64_H_ | 819 #endif // VM_ASSEMBLER_X64_H_ |
| OLD | NEW |