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 |
386 void addsd(XmmRegister dst, XmmRegister src); | 389 void addsd(XmmRegister dst, XmmRegister src); |
387 void subsd(XmmRegister dst, XmmRegister src); | 390 void subsd(XmmRegister dst, XmmRegister src); |
388 void mulsd(XmmRegister dst, XmmRegister src); | 391 void mulsd(XmmRegister dst, XmmRegister src); |
389 void divsd(XmmRegister dst, XmmRegister src); | 392 void divsd(XmmRegister dst, XmmRegister src); |
390 | 393 |
| 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 |
391 void comisd(XmmRegister a, XmmRegister b); | 420 void comisd(XmmRegister a, XmmRegister b); |
392 void cvtsi2sd(XmmRegister a, Register b); | 421 void cvtsi2sd(XmmRegister a, Register b); |
393 void cvttsd2siq(Register dst, XmmRegister src); | 422 void cvttsd2siq(Register dst, XmmRegister src); |
394 | 423 |
395 void cvtss2sd(XmmRegister dst, XmmRegister src); | 424 void cvtss2sd(XmmRegister dst, XmmRegister src); |
396 void cvtsd2ss(XmmRegister dst, XmmRegister src); | 425 void cvtsd2ss(XmmRegister dst, XmmRegister src); |
397 | 426 |
398 void pxor(XmmRegister dst, XmmRegister src); | 427 void pxor(XmmRegister dst, XmmRegister src); |
399 | 428 |
400 enum RoundingMode { | 429 enum RoundingMode { |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 | 529 |
501 void negl(Register reg); | 530 void negl(Register reg); |
502 void negq(Register reg); | 531 void negq(Register reg); |
503 void notq(Register reg); | 532 void notq(Register reg); |
504 | 533 |
505 void enter(const Immediate& imm); | 534 void enter(const Immediate& imm); |
506 void leave(); | 535 void leave(); |
507 void ret(); | 536 void ret(); |
508 | 537 |
509 void movmskpd(Register dst, XmmRegister src); | 538 void movmskpd(Register dst, XmmRegister src); |
| 539 void movmskps(Register dst, XmmRegister src); |
510 | 540 |
511 void sqrtsd(XmmRegister dst, XmmRegister src); | 541 void sqrtsd(XmmRegister dst, XmmRegister src); |
512 | 542 |
513 void xorpd(XmmRegister dst, const Address& src); | 543 void xorpd(XmmRegister dst, const Address& src); |
514 void xorpd(XmmRegister dst, XmmRegister src); | 544 void xorpd(XmmRegister dst, XmmRegister src); |
515 | 545 |
| 546 void xorps(XmmRegister dst, const Address& src); |
| 547 void xorps(XmmRegister dst, XmmRegister src); |
| 548 |
516 void andpd(XmmRegister dst, const Address& src); | 549 void andpd(XmmRegister dst, const Address& src); |
517 | 550 |
518 void fldl(const Address& src); | 551 void fldl(const Address& src); |
519 void fstpl(const Address& dst); | 552 void fstpl(const Address& dst); |
520 | 553 |
521 void fildl(const Address& src); | 554 void fildl(const Address& src); |
522 | 555 |
523 void fincstp(); | 556 void fincstp(); |
524 void ffree(intptr_t value); | 557 void ffree(intptr_t value); |
525 | 558 |
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
810 } | 843 } |
811 | 844 |
812 | 845 |
813 inline void Assembler::EmitOperandSizeOverride() { | 846 inline void Assembler::EmitOperandSizeOverride() { |
814 EmitUint8(0x66); | 847 EmitUint8(0x66); |
815 } | 848 } |
816 | 849 |
817 } // namespace dart | 850 } // namespace dart |
818 | 851 |
819 #endif // VM_ASSEMBLER_X64_H_ | 852 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |