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

Side by Side Diff: src/IceInstX8632.h

Issue 383303003: Lower casting operations that involve vector types. (Closed) Base URL: https://gerrit.chromium.org/gerrit/p/native_client/pnacl-subzero.git@master
Patch Set: Rebase and make bitcast changes 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
« no previous file with comments | « no previous file | src/IceInstX8632.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- subzero/src/IceInstX8632.h - Low-level x86 instructions --*- C++ -*-===// 1 //===- subzero/src/IceInstX8632.h - Low-level x86 instructions --*- C++ -*-===//
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 declares the InstX8632 and OperandX8632 classes and 10 // This file declares the InstX8632 and OperandX8632 classes and
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 Mov, 161 Mov,
162 Movp, 162 Movp,
163 Movq, 163 Movq,
164 Movsx, 164 Movsx,
165 Movzx, 165 Movzx,
166 Mul, 166 Mul,
167 Mulps, 167 Mulps,
168 Mulss, 168 Mulss,
169 Neg, 169 Neg,
170 Or, 170 Or,
171 Pand,
172 Pcmpeq,
173 Pcmpgt,
171 Pop, 174 Pop,
172 Push, 175 Push,
176 Psll,
177 Psra,
178 Psub,
173 Pxor, 179 Pxor,
174 Ret, 180 Ret,
175 Sar, 181 Sar,
176 Sbb, 182 Sbb,
177 Shl, 183 Shl,
178 Shld, 184 Shld,
179 Shr, 185 Shr,
180 Shrd, 186 Shrd,
181 Sqrtss, 187 Sqrtss,
182 Store, 188 Store,
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 typedef InstX8632Unaryop<InstX8632::Bsr> InstX8632Bsr; 452 typedef InstX8632Unaryop<InstX8632::Bsr> InstX8632Bsr;
447 typedef InstX8632Unaryop<InstX8632::Sqrtss> InstX8632Sqrtss; 453 typedef InstX8632Unaryop<InstX8632::Sqrtss> InstX8632Sqrtss;
448 typedef InstX8632Binop<InstX8632::Add> InstX8632Add; 454 typedef InstX8632Binop<InstX8632::Add> InstX8632Add;
449 typedef InstX8632Binop<InstX8632::Addps> InstX8632Addps; 455 typedef InstX8632Binop<InstX8632::Addps> InstX8632Addps;
450 typedef InstX8632Binop<InstX8632::Adc> InstX8632Adc; 456 typedef InstX8632Binop<InstX8632::Adc> InstX8632Adc;
451 typedef InstX8632Binop<InstX8632::Addss> InstX8632Addss; 457 typedef InstX8632Binop<InstX8632::Addss> InstX8632Addss;
452 typedef InstX8632Binop<InstX8632::Sub> InstX8632Sub; 458 typedef InstX8632Binop<InstX8632::Sub> InstX8632Sub;
453 typedef InstX8632Binop<InstX8632::Subps> InstX8632Subps; 459 typedef InstX8632Binop<InstX8632::Subps> InstX8632Subps;
454 typedef InstX8632Binop<InstX8632::Subss> InstX8632Subss; 460 typedef InstX8632Binop<InstX8632::Subss> InstX8632Subss;
455 typedef InstX8632Binop<InstX8632::Sbb> InstX8632Sbb; 461 typedef InstX8632Binop<InstX8632::Sbb> InstX8632Sbb;
462 typedef InstX8632Binop<InstX8632::Psub> InstX8632Psub;
456 typedef InstX8632Binop<InstX8632::And> InstX8632And; 463 typedef InstX8632Binop<InstX8632::And> InstX8632And;
464 typedef InstX8632Binop<InstX8632::Pand> InstX8632Pand;
457 typedef InstX8632Binop<InstX8632::Or> InstX8632Or; 465 typedef InstX8632Binop<InstX8632::Or> InstX8632Or;
458 typedef InstX8632Binop<InstX8632::Xor> InstX8632Xor; 466 typedef InstX8632Binop<InstX8632::Xor> InstX8632Xor;
459 typedef InstX8632Binop<InstX8632::Pxor> InstX8632Pxor; 467 typedef InstX8632Binop<InstX8632::Pxor> InstX8632Pxor;
460 typedef InstX8632Binop<InstX8632::Imul> InstX8632Imul; 468 typedef InstX8632Binop<InstX8632::Imul> InstX8632Imul;
461 typedef InstX8632Binop<InstX8632::Mulps> InstX8632Mulps; 469 typedef InstX8632Binop<InstX8632::Mulps> InstX8632Mulps;
462 typedef InstX8632Binop<InstX8632::Mulss> InstX8632Mulss; 470 typedef InstX8632Binop<InstX8632::Mulss> InstX8632Mulss;
463 typedef InstX8632Binop<InstX8632::Divps> InstX8632Divps; 471 typedef InstX8632Binop<InstX8632::Divps> InstX8632Divps;
464 typedef InstX8632Binop<InstX8632::Divss> InstX8632Divss; 472 typedef InstX8632Binop<InstX8632::Divss> InstX8632Divss;
465 typedef InstX8632Binop<InstX8632::Shl, true> InstX8632Shl; 473 typedef InstX8632Binop<InstX8632::Shl, true> InstX8632Shl;
474 typedef InstX8632Binop<InstX8632::Psll> InstX8632Psll;
466 typedef InstX8632Binop<InstX8632::Shr, true> InstX8632Shr; 475 typedef InstX8632Binop<InstX8632::Shr, true> InstX8632Shr;
467 typedef InstX8632Binop<InstX8632::Sar, true> InstX8632Sar; 476 typedef InstX8632Binop<InstX8632::Sar, true> InstX8632Sar;
477 typedef InstX8632Binop<InstX8632::Psra> InstX8632Psra;
478 typedef InstX8632Binop<InstX8632::Pcmpeq> InstX8632Pcmpeq;
479 typedef InstX8632Binop<InstX8632::Pcmpgt> InstX8632Pcmpgt;
468 typedef InstX8632Ternop<InstX8632::Idiv> InstX8632Idiv; 480 typedef InstX8632Ternop<InstX8632::Idiv> InstX8632Idiv;
469 typedef InstX8632Ternop<InstX8632::Div> InstX8632Div; 481 typedef InstX8632Ternop<InstX8632::Div> InstX8632Div;
470 482
471 // Base class for a lockable x86-32 instruction (emits a locked prefix). 483 // Base class for a lockable x86-32 instruction (emits a locked prefix).
472 class InstX8632Lockable : public InstX8632 { 484 class InstX8632Lockable : public InstX8632 {
473 public: 485 public:
474 virtual void emit(const Cfg *Func) const = 0; 486 virtual void emit(const Cfg *Func) const = 0;
475 virtual void dump(const Cfg *Func) const; 487 virtual void dump(const Cfg *Func) const;
476 488
477 protected: 489 protected:
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
1036 private: 1048 private:
1037 InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source); 1049 InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source);
1038 InstX8632Xchg(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; 1050 InstX8632Xchg(const InstX8632Xchg &) LLVM_DELETED_FUNCTION;
1039 InstX8632Xchg &operator=(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; 1051 InstX8632Xchg &operator=(const InstX8632Xchg &) LLVM_DELETED_FUNCTION;
1040 virtual ~InstX8632Xchg() {} 1052 virtual ~InstX8632Xchg() {}
1041 }; 1053 };
1042 1054
1043 } // end of namespace Ice 1055 } // end of namespace Ice
1044 1056
1045 #endif // SUBZERO_SRC_ICEINSTX8632_H 1057 #endif // SUBZERO_SRC_ICEINSTX8632_H
OLDNEW
« no previous file with comments | « no previous file | src/IceInstX8632.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698