Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: src/IceInstX8632.cpp

Issue 412353005: Use movss to implement insertelement when elements = 4 and index = 0. (Closed) Base URL: https://gerrit.chromium.org/gerrit/p/native_client/pnacl-subzero.git@master
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW
« src/IceInstX8632.h ('K') | « src/IceInstX8632.h ('k') | src/IceTargetLoweringX8632.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698