OLD | NEW |
1 //===- subzero/src/IceInstX8632.cpp - X86-32 instruction implementation ---===// | 1 //===- subzero/src/IceInstX8632.cpp - X86-32 instruction implementation ---===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file implements the InstX8632 and OperandX8632 classes, | 10 // This file implements the InstX8632 and OperandX8632 classes, |
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 | 455 |
456 | 456 |
457 // In-place ops | 457 // In-place ops |
458 template <> const char *InstX8632Bswap::Opcode = "bswap"; | 458 template <> const char *InstX8632Bswap::Opcode = "bswap"; |
459 template <> const char *InstX8632Neg::Opcode = "neg"; | 459 template <> const char *InstX8632Neg::Opcode = "neg"; |
460 // Unary ops | 460 // Unary ops |
461 template <> const char *InstX8632Bsf::Opcode = "bsf"; | 461 template <> const char *InstX8632Bsf::Opcode = "bsf"; |
462 template <> const char *InstX8632Bsr::Opcode = "bsr"; | 462 template <> const char *InstX8632Bsr::Opcode = "bsr"; |
463 template <> const char *InstX8632Lea::Opcode = "lea"; | 463 template <> const char *InstX8632Lea::Opcode = "lea"; |
464 template <> const char *InstX8632Movd::Opcode = "movd"; | 464 template <> const char *InstX8632Movd::Opcode = "movd"; |
465 template <> const char *InstX8632Movss::Opcode = "movss"; | |
466 template <> const char *InstX8632Sqrtss::Opcode = "sqrtss"; | 465 template <> const char *InstX8632Sqrtss::Opcode = "sqrtss"; |
467 // Binary ops | 466 // Binary ops |
468 template <> const char *InstX8632Add::Opcode = "add"; | 467 template <> const char *InstX8632Add::Opcode = "add"; |
469 template <> const char *InstX8632Addps::Opcode = "addps"; | 468 template <> const char *InstX8632Addps::Opcode = "addps"; |
470 template <> const char *InstX8632Adc::Opcode = "adc"; | 469 template <> const char *InstX8632Adc::Opcode = "adc"; |
471 template <> const char *InstX8632Addss::Opcode = "addss"; | 470 template <> const char *InstX8632Addss::Opcode = "addss"; |
472 template <> const char *InstX8632Padd::Opcode = "padd"; | 471 template <> const char *InstX8632Padd::Opcode = "padd"; |
473 template <> const char *InstX8632Sub::Opcode = "sub"; | 472 template <> const char *InstX8632Sub::Opcode = "sub"; |
474 template <> const char *InstX8632Subps::Opcode = "subps"; | 473 template <> const char *InstX8632Subps::Opcode = "subps"; |
475 template <> const char *InstX8632Subss::Opcode = "subss"; | 474 template <> const char *InstX8632Subss::Opcode = "subss"; |
(...skipping 16 matching lines...) Expand all Loading... |
492 template <> const char *InstX8632Idiv::Opcode = "idiv"; | 491 template <> const char *InstX8632Idiv::Opcode = "idiv"; |
493 template <> const char *InstX8632Divss::Opcode = "divss"; | 492 template <> const char *InstX8632Divss::Opcode = "divss"; |
494 template <> const char *InstX8632Rol::Opcode = "rol"; | 493 template <> const char *InstX8632Rol::Opcode = "rol"; |
495 template <> const char *InstX8632Shl::Opcode = "shl"; | 494 template <> const char *InstX8632Shl::Opcode = "shl"; |
496 template <> const char *InstX8632Psll::Opcode = "psll"; | 495 template <> const char *InstX8632Psll::Opcode = "psll"; |
497 template <> const char *InstX8632Shr::Opcode = "shr"; | 496 template <> const char *InstX8632Shr::Opcode = "shr"; |
498 template <> const char *InstX8632Sar::Opcode = "sar"; | 497 template <> const char *InstX8632Sar::Opcode = "sar"; |
499 template <> const char *InstX8632Psra::Opcode = "psra"; | 498 template <> const char *InstX8632Psra::Opcode = "psra"; |
500 template <> const char *InstX8632Pcmpeq::Opcode = "pcmpeq"; | 499 template <> const char *InstX8632Pcmpeq::Opcode = "pcmpeq"; |
501 template <> const char *InstX8632Pcmpgt::Opcode = "pcmpgt"; | 500 template <> const char *InstX8632Pcmpgt::Opcode = "pcmpgt"; |
| 501 template <> const char *InstX8632Movss::Opcode = "movss"; |
502 // Ternary ops | 502 // Ternary ops |
503 template <> const char *InstX8632Shufps::Opcode = "shufps"; | 503 template <> const char *InstX8632Shufps::Opcode = "shufps"; |
504 template <> const char *InstX8632Pinsrw::Opcode = "pinsrw"; | 504 template <> const char *InstX8632Pinsrw::Opcode = "pinsrw"; |
505 // Three address ops | 505 // Three address ops |
506 template <> const char *InstX8632Pextrw::Opcode = "pextrw"; | 506 template <> const char *InstX8632Pextrw::Opcode = "pextrw"; |
507 template <> const char *InstX8632Pshufd::Opcode = "pshufd"; | 507 template <> const char *InstX8632Pshufd::Opcode = "pshufd"; |
508 | 508 |
509 template <> void InstX8632Sqrtss::emit(const Cfg *Func) const { | 509 template <> void InstX8632Sqrtss::emit(const Cfg *Func) const { |
510 Ostream &Str = Func->getContext()->getStrEmit(); | 510 Ostream &Str = Func->getContext()->getStrEmit(); |
511 assert(getSrcSize() == 1); | 511 assert(getSrcSize() == 1); |
(...skipping 896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1408 default: | 1408 default: |
1409 Str << "???"; | 1409 Str << "???"; |
1410 break; | 1410 break; |
1411 } | 1411 } |
1412 Str << "("; | 1412 Str << "("; |
1413 Var->dump(Func); | 1413 Var->dump(Func); |
1414 Str << ")"; | 1414 Str << ")"; |
1415 } | 1415 } |
1416 | 1416 |
1417 } // end of namespace Ice | 1417 } // end of namespace Ice |
OLD | NEW |