| OLD | NEW |
| 1 //===- subzero/src/IceAssemblerX86Base.h - base x86 assembler -*- C++ -*---===// | 1 //===- subzero/src/IceAssemblerX86Base.h - base x86 assembler -*- C++ -*---===// |
| 2 // | 2 // |
| 3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 4 // for details. All rights reserved. Use of this source code is governed by a | 4 // for details. All rights reserved. Use of this source code is governed by a |
| 5 // BSD-style license that can be found in the LICENSE file. | 5 // BSD-style license that can be found in the LICENSE file. |
| 6 // | 6 // |
| 7 // Modified by the Subzero authors. | 7 // Modified by the Subzero authors. |
| 8 // | 8 // |
| 9 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
| 10 // | 10 // |
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 440 void subps(Type Ty, typename Traits::XmmRegister dst, | 440 void subps(Type Ty, typename Traits::XmmRegister dst, |
| 441 const typename Traits::Address &src); | 441 const typename Traits::Address &src); |
| 442 void divps(Type Ty, typename Traits::XmmRegister dst, | 442 void divps(Type Ty, typename Traits::XmmRegister dst, |
| 443 typename Traits::XmmRegister src); | 443 typename Traits::XmmRegister src); |
| 444 void divps(Type Ty, typename Traits::XmmRegister dst, | 444 void divps(Type Ty, typename Traits::XmmRegister dst, |
| 445 const typename Traits::Address &src); | 445 const typename Traits::Address &src); |
| 446 void mulps(Type Ty, typename Traits::XmmRegister dst, | 446 void mulps(Type Ty, typename Traits::XmmRegister dst, |
| 447 typename Traits::XmmRegister src); | 447 typename Traits::XmmRegister src); |
| 448 void mulps(Type Ty, typename Traits::XmmRegister dst, | 448 void mulps(Type Ty, typename Traits::XmmRegister dst, |
| 449 const typename Traits::Address &src); | 449 const typename Traits::Address &src); |
| 450 void minps(typename Traits::XmmRegister dst, | 450 void minps(Type Ty, typename Traits::XmmRegister dst, |
| 451 const typename Traits::Address &src); |
| 452 void minps(Type Ty, typename Traits::XmmRegister dst, |
| 451 typename Traits::XmmRegister src); | 453 typename Traits::XmmRegister src); |
| 452 void maxps(typename Traits::XmmRegister dst, | 454 void minss(Type Ty, typename Traits::XmmRegister dst, |
| 455 const typename Traits::Address &src); |
| 456 void minss(Type Ty, typename Traits::XmmRegister dst, |
| 453 typename Traits::XmmRegister src); | 457 typename Traits::XmmRegister src); |
| 454 void andps(typename Traits::XmmRegister dst, | 458 void maxps(Type Ty, typename Traits::XmmRegister dst, |
| 459 const typename Traits::Address &src); |
| 460 void maxps(Type Ty, typename Traits::XmmRegister dst, |
| 455 typename Traits::XmmRegister src); | 461 typename Traits::XmmRegister src); |
| 456 void andps(typename Traits::XmmRegister dst, | 462 void maxss(Type Ty, typename Traits::XmmRegister dst, |
| 457 const typename Traits::Address &src); | 463 const typename Traits::Address &src); |
| 458 void orps(typename Traits::XmmRegister dst, typename Traits::XmmRegister src); | 464 void maxss(Type Ty, typename Traits::XmmRegister dst, |
| 465 typename Traits::XmmRegister src); |
| 466 void andnps(Type Ty, typename Traits::XmmRegister dst, |
| 467 const typename Traits::Address &src); |
| 468 void andnps(Type Ty, typename Traits::XmmRegister dst, |
| 469 typename Traits::XmmRegister src); |
| 470 void andps(Type Ty, typename Traits::XmmRegister dst, |
| 471 const typename Traits::Address &src); |
| 472 void andps(Type Ty, typename Traits::XmmRegister dst, |
| 473 typename Traits::XmmRegister src); |
| 474 void orps(Type Ty, typename Traits::XmmRegister dst, |
| 475 const typename Traits::Address &src); |
| 476 void orps(Type Ty, typename Traits::XmmRegister dst, |
| 477 typename Traits::XmmRegister src); |
| 459 | 478 |
| 460 void blendvps(Type Ty, typename Traits::XmmRegister dst, | 479 void blendvps(Type Ty, typename Traits::XmmRegister dst, |
| 461 typename Traits::XmmRegister src); | 480 typename Traits::XmmRegister src); |
| 462 void blendvps(Type Ty, typename Traits::XmmRegister dst, | 481 void blendvps(Type Ty, typename Traits::XmmRegister dst, |
| 463 const typename Traits::Address &src); | 482 const typename Traits::Address &src); |
| 464 void pblendvb(Type Ty, typename Traits::XmmRegister dst, | 483 void pblendvb(Type Ty, typename Traits::XmmRegister dst, |
| 465 typename Traits::XmmRegister src); | 484 typename Traits::XmmRegister src); |
| 466 void pblendvb(Type Ty, typename Traits::XmmRegister dst, | 485 void pblendvb(Type Ty, typename Traits::XmmRegister dst, |
| 467 const typename Traits::Address &src); | 486 const typename Traits::Address &src); |
| 468 | 487 |
| 469 void cmpps(typename Traits::XmmRegister dst, typename Traits::XmmRegister src, | 488 void cmpps(Type Ty, typename Traits::XmmRegister dst, |
| 489 typename Traits::XmmRegister src, |
| 470 typename Traits::Cond::CmppsCond CmpCondition); | 490 typename Traits::Cond::CmppsCond CmpCondition); |
| 471 void cmpps(typename Traits::XmmRegister dst, | 491 void cmpps(Type Ty, typename Traits::XmmRegister dst, |
| 472 const typename Traits::Address &src, | 492 const typename Traits::Address &src, |
| 473 typename Traits::Cond::CmppsCond CmpCondition); | 493 typename Traits::Cond::CmppsCond CmpCondition); |
| 474 | 494 |
| 475 void sqrtps(typename Traits::XmmRegister dst); | 495 void sqrtps(typename Traits::XmmRegister dst); |
| 476 void rsqrtps(typename Traits::XmmRegister dst); | 496 void rsqrtps(typename Traits::XmmRegister dst); |
| 477 void reciprocalps(typename Traits::XmmRegister dst); | 497 void reciprocalps(typename Traits::XmmRegister dst); |
| 478 | 498 |
| 479 void movhlps(typename Traits::XmmRegister dst, | 499 void movhlps(typename Traits::XmmRegister dst, |
| 480 typename Traits::XmmRegister src); | 500 typename Traits::XmmRegister src); |
| 481 void movlhps(typename Traits::XmmRegister dst, | 501 void movlhps(typename Traits::XmmRegister dst, |
| 482 typename Traits::XmmRegister src); | 502 typename Traits::XmmRegister src); |
| 483 void unpcklps(typename Traits::XmmRegister dst, | 503 void unpcklps(typename Traits::XmmRegister dst, |
| 484 typename Traits::XmmRegister src); | 504 typename Traits::XmmRegister src); |
| 485 void unpckhps(typename Traits::XmmRegister dst, | 505 void unpckhps(typename Traits::XmmRegister dst, |
| 486 typename Traits::XmmRegister src); | 506 typename Traits::XmmRegister src); |
| 487 void unpcklpd(typename Traits::XmmRegister dst, | 507 void unpcklpd(typename Traits::XmmRegister dst, |
| 488 typename Traits::XmmRegister src); | 508 typename Traits::XmmRegister src); |
| 489 void unpckhpd(typename Traits::XmmRegister dst, | 509 void unpckhpd(typename Traits::XmmRegister dst, |
| 490 typename Traits::XmmRegister src); | 510 typename Traits::XmmRegister src); |
| 491 | 511 |
| 492 void set1ps(typename Traits::XmmRegister dst, | 512 void set1ps(typename Traits::XmmRegister dst, |
| 493 typename Traits::GPRRegister tmp, const Immediate &imm); | 513 typename Traits::GPRRegister tmp, const Immediate &imm); |
| 494 | 514 |
| 495 void minpd(typename Traits::XmmRegister dst, | |
| 496 typename Traits::XmmRegister src); | |
| 497 void maxpd(typename Traits::XmmRegister dst, | |
| 498 typename Traits::XmmRegister src); | |
| 499 void sqrtpd(typename Traits::XmmRegister dst); | 515 void sqrtpd(typename Traits::XmmRegister dst); |
| 500 | 516 |
| 501 void pshufd(Type Ty, typename Traits::XmmRegister dst, | 517 void pshufd(Type Ty, typename Traits::XmmRegister dst, |
| 502 typename Traits::XmmRegister src, const Immediate &mask); | 518 typename Traits::XmmRegister src, const Immediate &mask); |
| 503 void pshufd(Type Ty, typename Traits::XmmRegister dst, | 519 void pshufd(Type Ty, typename Traits::XmmRegister dst, |
| 504 const typename Traits::Address &src, const Immediate &mask); | 520 const typename Traits::Address &src, const Immediate &mask); |
| 505 void shufps(Type Ty, typename Traits::XmmRegister dst, | 521 void shufps(Type Ty, typename Traits::XmmRegister dst, |
| 506 typename Traits::XmmRegister src, const Immediate &mask); | 522 typename Traits::XmmRegister src, const Immediate &mask); |
| 507 void shufps(Type Ty, typename Traits::XmmRegister dst, | 523 void shufps(Type Ty, typename Traits::XmmRegister dst, |
| 508 const typename Traits::Address &src, const Immediate &mask); | 524 const typename Traits::Address &src, const Immediate &mask); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 void movmskpd(typename Traits::GPRRegister dst, | 556 void movmskpd(typename Traits::GPRRegister dst, |
| 541 typename Traits::XmmRegister src); | 557 typename Traits::XmmRegister src); |
| 542 void movmskps(typename Traits::GPRRegister dst, | 558 void movmskps(typename Traits::GPRRegister dst, |
| 543 typename Traits::XmmRegister src); | 559 typename Traits::XmmRegister src); |
| 544 | 560 |
| 545 void sqrtss(Type Ty, typename Traits::XmmRegister dst, | 561 void sqrtss(Type Ty, typename Traits::XmmRegister dst, |
| 546 const typename Traits::Address &src); | 562 const typename Traits::Address &src); |
| 547 void sqrtss(Type Ty, typename Traits::XmmRegister dst, | 563 void sqrtss(Type Ty, typename Traits::XmmRegister dst, |
| 548 typename Traits::XmmRegister src); | 564 typename Traits::XmmRegister src); |
| 549 | 565 |
| 550 void xorpd(typename Traits::XmmRegister dst, | 566 void xorps(Type Ty, typename Traits::XmmRegister dst, |
| 551 const typename Traits::Address &src); | 567 const typename Traits::Address &src); |
| 552 void xorpd(typename Traits::XmmRegister dst, | 568 void xorps(Type Ty, typename Traits::XmmRegister dst, |
| 553 typename Traits::XmmRegister src); | 569 typename Traits::XmmRegister src); |
| 554 void xorps(typename Traits::XmmRegister dst, | |
| 555 const typename Traits::Address &src); | |
| 556 void xorps(typename Traits::XmmRegister dst, | |
| 557 typename Traits::XmmRegister src); | |
| 558 | |
| 559 void andpd(typename Traits::XmmRegister dst, | |
| 560 const typename Traits::Address &src); | |
| 561 void andpd(typename Traits::XmmRegister dst, | |
| 562 typename Traits::XmmRegister src); | |
| 563 | |
| 564 void orpd(typename Traits::XmmRegister dst, typename Traits::XmmRegister src); | |
| 565 | 570 |
| 566 void insertps(Type Ty, typename Traits::XmmRegister dst, | 571 void insertps(Type Ty, typename Traits::XmmRegister dst, |
| 567 typename Traits::XmmRegister src, const Immediate &imm); | 572 typename Traits::XmmRegister src, const Immediate &imm); |
| 568 void insertps(Type Ty, typename Traits::XmmRegister dst, | 573 void insertps(Type Ty, typename Traits::XmmRegister dst, |
| 569 const typename Traits::Address &src, const Immediate &imm); | 574 const typename Traits::Address &src, const Immediate &imm); |
| 570 | 575 |
| 571 void pinsr(Type Ty, typename Traits::XmmRegister dst, | 576 void pinsr(Type Ty, typename Traits::XmmRegister dst, |
| 572 typename Traits::GPRRegister src, const Immediate &imm); | 577 typename Traits::GPRRegister src, const Immediate &imm); |
| 573 void pinsr(Type Ty, typename Traits::XmmRegister dst, | 578 void pinsr(Type Ty, typename Traits::XmmRegister dst, |
| 574 const typename Traits::Address &src, const Immediate &imm); | 579 const typename Traits::Address &src, const Immediate &imm); |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1068 emitUint8(0x66); | 1073 emitUint8(0x66); |
| 1069 } | 1074 } |
| 1070 | 1075 |
| 1071 } // end of namespace X86Internal | 1076 } // end of namespace X86Internal |
| 1072 | 1077 |
| 1073 } // end of namespace Ice | 1078 } // end of namespace Ice |
| 1074 | 1079 |
| 1075 #include "IceAssemblerX86BaseImpl.h" | 1080 #include "IceAssemblerX86BaseImpl.h" |
| 1076 | 1081 |
| 1077 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H | 1082 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H |
| OLD | NEW |