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

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: Fix formatting in for loop. 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') | tests_lit/llvm2ice_tests/vector-bitcast.ll » ('J')
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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 Mov, 158 Mov,
159 Movp, 159 Movp,
160 Movq, 160 Movq,
161 Movsx, 161 Movsx,
162 Movzx, 162 Movzx,
163 Mul, 163 Mul,
164 Mulps, 164 Mulps,
165 Mulss, 165 Mulss,
166 Neg, 166 Neg,
167 Or, 167 Or,
168 Pand,
169 Pcmpeq,
170 Pcmpgt,
168 Pop, 171 Pop,
169 Push, 172 Push,
173 Psll,
174 Psra,
175 Psub,
170 Pxor, 176 Pxor,
171 Ret, 177 Ret,
172 Sar, 178 Sar,
173 Sbb, 179 Sbb,
174 Shl, 180 Shl,
175 Shld, 181 Shld,
176 Shr, 182 Shr,
177 Shrd, 183 Shrd,
178 Sqrtss, 184 Sqrtss,
179 Store, 185 Store,
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 446
441 typedef InstX8632Unaryop<InstX8632::Neg> InstX8632Neg; 447 typedef InstX8632Unaryop<InstX8632::Neg> InstX8632Neg;
442 typedef InstX8632Binop<InstX8632::Add> InstX8632Add; 448 typedef InstX8632Binop<InstX8632::Add> InstX8632Add;
443 typedef InstX8632Binop<InstX8632::Addps> InstX8632Addps; 449 typedef InstX8632Binop<InstX8632::Addps> InstX8632Addps;
444 typedef InstX8632Binop<InstX8632::Adc> InstX8632Adc; 450 typedef InstX8632Binop<InstX8632::Adc> InstX8632Adc;
445 typedef InstX8632Binop<InstX8632::Addss> InstX8632Addss; 451 typedef InstX8632Binop<InstX8632::Addss> InstX8632Addss;
446 typedef InstX8632Binop<InstX8632::Sub> InstX8632Sub; 452 typedef InstX8632Binop<InstX8632::Sub> InstX8632Sub;
447 typedef InstX8632Binop<InstX8632::Subps> InstX8632Subps; 453 typedef InstX8632Binop<InstX8632::Subps> InstX8632Subps;
448 typedef InstX8632Binop<InstX8632::Subss> InstX8632Subss; 454 typedef InstX8632Binop<InstX8632::Subss> InstX8632Subss;
449 typedef InstX8632Binop<InstX8632::Sbb> InstX8632Sbb; 455 typedef InstX8632Binop<InstX8632::Sbb> InstX8632Sbb;
456 typedef InstX8632Binop<InstX8632::Psub> InstX8632Psub;
450 typedef InstX8632Binop<InstX8632::And> InstX8632And; 457 typedef InstX8632Binop<InstX8632::And> InstX8632And;
458 typedef InstX8632Binop<InstX8632::Pand> InstX8632Pand;
451 typedef InstX8632Binop<InstX8632::Or> InstX8632Or; 459 typedef InstX8632Binop<InstX8632::Or> InstX8632Or;
452 typedef InstX8632Binop<InstX8632::Xor> InstX8632Xor; 460 typedef InstX8632Binop<InstX8632::Xor> InstX8632Xor;
453 typedef InstX8632Binop<InstX8632::Pxor> InstX8632Pxor; 461 typedef InstX8632Binop<InstX8632::Pxor> InstX8632Pxor;
454 typedef InstX8632Binop<InstX8632::Imul> InstX8632Imul; 462 typedef InstX8632Binop<InstX8632::Imul> InstX8632Imul;
455 typedef InstX8632Binop<InstX8632::Mulps> InstX8632Mulps; 463 typedef InstX8632Binop<InstX8632::Mulps> InstX8632Mulps;
456 typedef InstX8632Binop<InstX8632::Mulss> InstX8632Mulss; 464 typedef InstX8632Binop<InstX8632::Mulss> InstX8632Mulss;
457 typedef InstX8632Binop<InstX8632::Divps> InstX8632Divps; 465 typedef InstX8632Binop<InstX8632::Divps> InstX8632Divps;
458 typedef InstX8632Binop<InstX8632::Divss> InstX8632Divss; 466 typedef InstX8632Binop<InstX8632::Divss> InstX8632Divss;
459 typedef InstX8632Binop<InstX8632::Shl, true> InstX8632Shl; 467 typedef InstX8632Binop<InstX8632::Shl, true> InstX8632Shl;
468 typedef InstX8632Binop<InstX8632::Psll> InstX8632Psll;
460 typedef InstX8632Binop<InstX8632::Shr, true> InstX8632Shr; 469 typedef InstX8632Binop<InstX8632::Shr, true> InstX8632Shr;
461 typedef InstX8632Binop<InstX8632::Sar, true> InstX8632Sar; 470 typedef InstX8632Binop<InstX8632::Sar, true> InstX8632Sar;
471 typedef InstX8632Binop<InstX8632::Psra> InstX8632Psra;
472 typedef InstX8632Binop<InstX8632::Pcmpeq> InstX8632Pcmpeq;
473 typedef InstX8632Binop<InstX8632::Pcmpgt> InstX8632Pcmpgt;
462 typedef InstX8632Ternop<InstX8632::Idiv> InstX8632Idiv; 474 typedef InstX8632Ternop<InstX8632::Idiv> InstX8632Idiv;
463 typedef InstX8632Ternop<InstX8632::Div> InstX8632Div; 475 typedef InstX8632Ternop<InstX8632::Div> InstX8632Div;
464 476
465 // Base class for a lockable x86-32 instruction (emits a locked prefix). 477 // Base class for a lockable x86-32 instruction (emits a locked prefix).
466 class InstX8632Lockable : public InstX8632 { 478 class InstX8632Lockable : public InstX8632 {
467 public: 479 public:
468 virtual void emit(const Cfg *Func) const = 0; 480 virtual void emit(const Cfg *Func) const = 0;
469 virtual void dump(const Cfg *Func) const; 481 virtual void dump(const Cfg *Func) const;
470 482
471 protected: 483 protected:
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
1010 private: 1022 private:
1011 InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source); 1023 InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source);
1012 InstX8632Xchg(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; 1024 InstX8632Xchg(const InstX8632Xchg &) LLVM_DELETED_FUNCTION;
1013 InstX8632Xchg &operator=(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; 1025 InstX8632Xchg &operator=(const InstX8632Xchg &) LLVM_DELETED_FUNCTION;
1014 virtual ~InstX8632Xchg() {} 1026 virtual ~InstX8632Xchg() {}
1015 }; 1027 };
1016 1028
1017 } // end of namespace Ice 1029 } // end of namespace Ice
1018 1030
1019 #endif // SUBZERO_SRC_ICEINSTX8632_H 1031 #endif // SUBZERO_SRC_ICEINSTX8632_H
OLDNEW
« no previous file with comments | « no previous file | src/IceInstX8632.cpp » ('j') | tests_lit/llvm2ice_tests/vector-bitcast.ll » ('J')

Powered by Google App Engine
This is Rietveld 408576698