| 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 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 void subps(Type Ty, typename Traits::XmmRegister dst, | 438 void subps(Type Ty, typename Traits::XmmRegister dst, |
| 439 const typename Traits::Address &src); | 439 const typename Traits::Address &src); |
| 440 void divps(Type Ty, typename Traits::XmmRegister dst, | 440 void divps(Type Ty, typename Traits::XmmRegister dst, |
| 441 typename Traits::XmmRegister src); | 441 typename Traits::XmmRegister src); |
| 442 void divps(Type Ty, typename Traits::XmmRegister dst, | 442 void divps(Type Ty, typename Traits::XmmRegister dst, |
| 443 const typename Traits::Address &src); | 443 const typename Traits::Address &src); |
| 444 void mulps(Type Ty, typename Traits::XmmRegister dst, | 444 void mulps(Type Ty, typename Traits::XmmRegister dst, |
| 445 typename Traits::XmmRegister src); | 445 typename Traits::XmmRegister src); |
| 446 void mulps(Type Ty, typename Traits::XmmRegister dst, | 446 void mulps(Type Ty, typename Traits::XmmRegister dst, |
| 447 const typename Traits::Address &src); | 447 const typename Traits::Address &src); |
| 448 void minps(typename Traits::XmmRegister dst, | 448 void minps(Type Ty, typename Traits::XmmRegister dst, |
| 449 const typename Traits::Address &src); |
| 450 void minps(Type Ty, typename Traits::XmmRegister dst, |
| 449 typename Traits::XmmRegister src); | 451 typename Traits::XmmRegister src); |
| 450 void maxps(typename Traits::XmmRegister dst, | 452 void minss(Type Ty, typename Traits::XmmRegister dst, |
| 453 const typename Traits::Address &src); |
| 454 void minss(Type Ty, typename Traits::XmmRegister dst, |
| 451 typename Traits::XmmRegister src); | 455 typename Traits::XmmRegister src); |
| 452 void andps(typename Traits::XmmRegister dst, | 456 void maxps(Type Ty, typename Traits::XmmRegister dst, |
| 457 const typename Traits::Address &src); |
| 458 void maxps(Type Ty, typename Traits::XmmRegister dst, |
| 453 typename Traits::XmmRegister src); | 459 typename Traits::XmmRegister src); |
| 454 void andps(typename Traits::XmmRegister dst, | 460 void maxss(Type Ty, typename Traits::XmmRegister dst, |
| 455 const typename Traits::Address &src); | 461 const typename Traits::Address &src); |
| 456 void orps(typename Traits::XmmRegister dst, typename Traits::XmmRegister src); | 462 void maxss(Type Ty, typename Traits::XmmRegister dst, |
| 463 typename Traits::XmmRegister src); |
| 464 void andnps(Type Ty, typename Traits::XmmRegister dst, |
| 465 const typename Traits::Address &src); |
| 466 void andnps(Type Ty, typename Traits::XmmRegister dst, |
| 467 typename Traits::XmmRegister src); |
| 468 void andps(Type Ty, typename Traits::XmmRegister dst, |
| 469 const typename Traits::Address &src); |
| 470 void andps(Type Ty, typename Traits::XmmRegister dst, |
| 471 typename Traits::XmmRegister src); |
| 472 void orps(Type Ty, typename Traits::XmmRegister dst, |
| 473 const typename Traits::Address &src); |
| 474 void orps(Type Ty, typename Traits::XmmRegister dst, |
| 475 typename Traits::XmmRegister src); |
| 457 | 476 |
| 458 void blendvps(Type Ty, typename Traits::XmmRegister dst, | 477 void blendvps(Type Ty, typename Traits::XmmRegister dst, |
| 459 typename Traits::XmmRegister src); | 478 typename Traits::XmmRegister src); |
| 460 void blendvps(Type Ty, typename Traits::XmmRegister dst, | 479 void blendvps(Type Ty, typename Traits::XmmRegister dst, |
| 461 const typename Traits::Address &src); | 480 const typename Traits::Address &src); |
| 462 void pblendvb(Type Ty, typename Traits::XmmRegister dst, | 481 void pblendvb(Type Ty, typename Traits::XmmRegister dst, |
| 463 typename Traits::XmmRegister src); | 482 typename Traits::XmmRegister src); |
| 464 void pblendvb(Type Ty, typename Traits::XmmRegister dst, | 483 void pblendvb(Type Ty, typename Traits::XmmRegister dst, |
| 465 const typename Traits::Address &src); | 484 const typename Traits::Address &src); |
| 466 | 485 |
| 467 void cmpps(typename Traits::XmmRegister dst, typename Traits::XmmRegister src, | 486 void cmpps(Type Ty, typename Traits::XmmRegister dst, |
| 487 typename Traits::XmmRegister src, |
| 468 typename Traits::Cond::CmppsCond CmpCondition); | 488 typename Traits::Cond::CmppsCond CmpCondition); |
| 469 void cmpps(typename Traits::XmmRegister dst, | 489 void cmpps(Type Ty, typename Traits::XmmRegister dst, |
| 470 const typename Traits::Address &src, | 490 const typename Traits::Address &src, |
| 471 typename Traits::Cond::CmppsCond CmpCondition); | 491 typename Traits::Cond::CmppsCond CmpCondition); |
| 472 | 492 |
| 473 void sqrtps(typename Traits::XmmRegister dst); | 493 void sqrtps(typename Traits::XmmRegister dst); |
| 474 void rsqrtps(typename Traits::XmmRegister dst); | 494 void rsqrtps(typename Traits::XmmRegister dst); |
| 475 void reciprocalps(typename Traits::XmmRegister dst); | 495 void reciprocalps(typename Traits::XmmRegister dst); |
| 476 | 496 |
| 477 void movhlps(typename Traits::XmmRegister dst, | 497 void movhlps(typename Traits::XmmRegister dst, |
| 478 typename Traits::XmmRegister src); | 498 typename Traits::XmmRegister src); |
| 479 void movlhps(typename Traits::XmmRegister dst, | 499 void movlhps(typename Traits::XmmRegister dst, |
| 480 typename Traits::XmmRegister src); | 500 typename Traits::XmmRegister src); |
| 481 void unpcklps(typename Traits::XmmRegister dst, | 501 void unpcklps(typename Traits::XmmRegister dst, |
| 482 typename Traits::XmmRegister src); | 502 typename Traits::XmmRegister src); |
| 483 void unpckhps(typename Traits::XmmRegister dst, | 503 void unpckhps(typename Traits::XmmRegister dst, |
| 484 typename Traits::XmmRegister src); | 504 typename Traits::XmmRegister src); |
| 485 void unpcklpd(typename Traits::XmmRegister dst, | 505 void unpcklpd(typename Traits::XmmRegister dst, |
| 486 typename Traits::XmmRegister src); | 506 typename Traits::XmmRegister src); |
| 487 void unpckhpd(typename Traits::XmmRegister dst, | 507 void unpckhpd(typename Traits::XmmRegister dst, |
| 488 typename Traits::XmmRegister src); | 508 typename Traits::XmmRegister src); |
| 489 | 509 |
| 490 void set1ps(typename Traits::XmmRegister dst, | 510 void set1ps(typename Traits::XmmRegister dst, |
| 491 typename Traits::GPRRegister tmp, const Immediate &imm); | 511 typename Traits::GPRRegister tmp, const Immediate &imm); |
| 492 | 512 |
| 493 void minpd(typename Traits::XmmRegister dst, | |
| 494 typename Traits::XmmRegister src); | |
| 495 void maxpd(typename Traits::XmmRegister dst, | |
| 496 typename Traits::XmmRegister src); | |
| 497 void sqrtpd(typename Traits::XmmRegister dst); | 513 void sqrtpd(typename Traits::XmmRegister dst); |
| 498 | 514 |
| 499 void pshufd(Type Ty, typename Traits::XmmRegister dst, | 515 void pshufd(Type Ty, typename Traits::XmmRegister dst, |
| 500 typename Traits::XmmRegister src, const Immediate &mask); | 516 typename Traits::XmmRegister src, const Immediate &mask); |
| 501 void pshufd(Type Ty, typename Traits::XmmRegister dst, | 517 void pshufd(Type Ty, typename Traits::XmmRegister dst, |
| 502 const typename Traits::Address &src, const Immediate &mask); | 518 const typename Traits::Address &src, const Immediate &mask); |
| 503 void shufps(Type Ty, typename Traits::XmmRegister dst, | 519 void shufps(Type Ty, typename Traits::XmmRegister dst, |
| 504 typename Traits::XmmRegister src, const Immediate &mask); | 520 typename Traits::XmmRegister src, const Immediate &mask); |
| 505 void shufps(Type Ty, typename Traits::XmmRegister dst, | 521 void shufps(Type Ty, typename Traits::XmmRegister dst, |
| 506 const typename Traits::Address &src, const Immediate &mask); | 522 const typename Traits::Address &src, const Immediate &mask); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 538 void movmskpd(typename Traits::GPRRegister dst, | 554 void movmskpd(typename Traits::GPRRegister dst, |
| 539 typename Traits::XmmRegister src); | 555 typename Traits::XmmRegister src); |
| 540 void movmskps(typename Traits::GPRRegister dst, | 556 void movmskps(typename Traits::GPRRegister dst, |
| 541 typename Traits::XmmRegister src); | 557 typename Traits::XmmRegister src); |
| 542 | 558 |
| 543 void sqrtss(Type Ty, typename Traits::XmmRegister dst, | 559 void sqrtss(Type Ty, typename Traits::XmmRegister dst, |
| 544 const typename Traits::Address &src); | 560 const typename Traits::Address &src); |
| 545 void sqrtss(Type Ty, typename Traits::XmmRegister dst, | 561 void sqrtss(Type Ty, typename Traits::XmmRegister dst, |
| 546 typename Traits::XmmRegister src); | 562 typename Traits::XmmRegister src); |
| 547 | 563 |
| 548 void xorpd(typename Traits::XmmRegister dst, | 564 void xorps(Type Ty, typename Traits::XmmRegister dst, |
| 549 const typename Traits::Address &src); | 565 const typename Traits::Address &src); |
| 550 void xorpd(typename Traits::XmmRegister dst, | 566 void xorps(Type Ty, typename Traits::XmmRegister dst, |
| 551 typename Traits::XmmRegister src); | 567 typename Traits::XmmRegister src); |
| 552 void xorps(typename Traits::XmmRegister dst, | |
| 553 const typename Traits::Address &src); | |
| 554 void xorps(typename Traits::XmmRegister dst, | |
| 555 typename Traits::XmmRegister src); | |
| 556 | |
| 557 void andpd(typename Traits::XmmRegister dst, | |
| 558 const typename Traits::Address &src); | |
| 559 void andpd(typename Traits::XmmRegister dst, | |
| 560 typename Traits::XmmRegister src); | |
| 561 | |
| 562 void orpd(typename Traits::XmmRegister dst, typename Traits::XmmRegister src); | |
| 563 | 568 |
| 564 void insertps(Type Ty, typename Traits::XmmRegister dst, | 569 void insertps(Type Ty, typename Traits::XmmRegister dst, |
| 565 typename Traits::XmmRegister src, const Immediate &imm); | 570 typename Traits::XmmRegister src, const Immediate &imm); |
| 566 void insertps(Type Ty, typename Traits::XmmRegister dst, | 571 void insertps(Type Ty, typename Traits::XmmRegister dst, |
| 567 const typename Traits::Address &src, const Immediate &imm); | 572 const typename Traits::Address &src, const Immediate &imm); |
| 568 | 573 |
| 569 void pinsr(Type Ty, typename Traits::XmmRegister dst, | 574 void pinsr(Type Ty, typename Traits::XmmRegister dst, |
| 570 typename Traits::GPRRegister src, const Immediate &imm); | 575 typename Traits::GPRRegister src, const Immediate &imm); |
| 571 void pinsr(Type Ty, typename Traits::XmmRegister dst, | 576 void pinsr(Type Ty, typename Traits::XmmRegister dst, |
| 572 const typename Traits::Address &src, const Immediate &imm); | 577 const typename Traits::Address &src, const Immediate &imm); |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1066 emitUint8(0x66); | 1071 emitUint8(0x66); |
| 1067 } | 1072 } |
| 1068 | 1073 |
| 1069 } // end of namespace X86Internal | 1074 } // end of namespace X86Internal |
| 1070 | 1075 |
| 1071 } // end of namespace Ice | 1076 } // end of namespace Ice |
| 1072 | 1077 |
| 1073 #include "IceAssemblerX86BaseImpl.h" | 1078 #include "IceAssemblerX86BaseImpl.h" |
| 1074 | 1079 |
| 1075 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H | 1080 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H |
| OLD | NEW |