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

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 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') | src/IceTargetLoweringX8632.cpp » ('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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 Load, 153 Load,
154 Mfence, 154 Mfence,
155 Mov, 155 Mov,
156 Movp, 156 Movp,
157 Movq, 157 Movq,
158 Movsx, 158 Movsx,
159 Movzx, 159 Movzx,
160 Mul, 160 Mul,
161 Mulss, 161 Mulss,
162 Or, 162 Or,
163 Pand,
164 Pcmpeq,
165 Pcmpgt,
163 Pop, 166 Pop,
164 Push, 167 Push,
168 Psll,
169 Psra,
170 Psub,
165 Pxor, 171 Pxor,
166 Ret, 172 Ret,
167 Sar, 173 Sar,
168 Sbb, 174 Sbb,
169 Shl, 175 Shl,
170 Shld, 176 Shld,
171 Shr, 177 Shr,
172 Shrd, 178 Shrd,
173 Sqrtss, 179 Sqrtss,
174 Store, 180 Store,
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 virtual ~InstX8632Ternop() {} 401 virtual ~InstX8632Ternop() {}
396 static const char *Opcode; 402 static const char *Opcode;
397 }; 403 };
398 404
399 typedef InstX8632Binop<InstX8632::Add> InstX8632Add; 405 typedef InstX8632Binop<InstX8632::Add> InstX8632Add;
400 typedef InstX8632Binop<InstX8632::Adc> InstX8632Adc; 406 typedef InstX8632Binop<InstX8632::Adc> InstX8632Adc;
401 typedef InstX8632Binop<InstX8632::Addss> InstX8632Addss; 407 typedef InstX8632Binop<InstX8632::Addss> InstX8632Addss;
402 typedef InstX8632Binop<InstX8632::Sub> InstX8632Sub; 408 typedef InstX8632Binop<InstX8632::Sub> InstX8632Sub;
403 typedef InstX8632Binop<InstX8632::Subss> InstX8632Subss; 409 typedef InstX8632Binop<InstX8632::Subss> InstX8632Subss;
404 typedef InstX8632Binop<InstX8632::Sbb> InstX8632Sbb; 410 typedef InstX8632Binop<InstX8632::Sbb> InstX8632Sbb;
411 typedef InstX8632Binop<InstX8632::Psub> InstX8632Psub;
405 typedef InstX8632Binop<InstX8632::And> InstX8632And; 412 typedef InstX8632Binop<InstX8632::And> InstX8632And;
413 typedef InstX8632Binop<InstX8632::Pand> InstX8632Pand;
406 typedef InstX8632Binop<InstX8632::Or> InstX8632Or; 414 typedef InstX8632Binop<InstX8632::Or> InstX8632Or;
407 typedef InstX8632Binop<InstX8632::Xor> InstX8632Xor; 415 typedef InstX8632Binop<InstX8632::Xor> InstX8632Xor;
408 typedef InstX8632Binop<InstX8632::Pxor> InstX8632Pxor; 416 typedef InstX8632Binop<InstX8632::Pxor> InstX8632Pxor;
409 typedef InstX8632Binop<InstX8632::Imul> InstX8632Imul; 417 typedef InstX8632Binop<InstX8632::Imul> InstX8632Imul;
410 typedef InstX8632Binop<InstX8632::Mulss> InstX8632Mulss; 418 typedef InstX8632Binop<InstX8632::Mulss> InstX8632Mulss;
411 typedef InstX8632Binop<InstX8632::Divss> InstX8632Divss; 419 typedef InstX8632Binop<InstX8632::Divss> InstX8632Divss;
412 typedef InstX8632Binop<InstX8632::Shl, true> InstX8632Shl; 420 typedef InstX8632Binop<InstX8632::Shl, true> InstX8632Shl;
421 typedef InstX8632Binop<InstX8632::Psll> InstX8632Psll;
413 typedef InstX8632Binop<InstX8632::Shr, true> InstX8632Shr; 422 typedef InstX8632Binop<InstX8632::Shr, true> InstX8632Shr;
414 typedef InstX8632Binop<InstX8632::Sar, true> InstX8632Sar; 423 typedef InstX8632Binop<InstX8632::Sar, true> InstX8632Sar;
424 typedef InstX8632Binop<InstX8632::Psra> InstX8632Psra;
425 typedef InstX8632Binop<InstX8632::Pcmpeq> InstX8632Pcmpeq;
426 typedef InstX8632Binop<InstX8632::Pcmpgt> InstX8632Pcmpgt;
415 typedef InstX8632Ternop<InstX8632::Idiv> InstX8632Idiv; 427 typedef InstX8632Ternop<InstX8632::Idiv> InstX8632Idiv;
416 typedef InstX8632Ternop<InstX8632::Div> InstX8632Div; 428 typedef InstX8632Ternop<InstX8632::Div> InstX8632Div;
417 429
418 // Mul instruction - unsigned multiply. 430 // Mul instruction - unsigned multiply.
419 class InstX8632Mul : public InstX8632 { 431 class InstX8632Mul : public InstX8632 {
420 public: 432 public:
421 static InstX8632Mul *create(Cfg *Func, Variable *Dest, Variable *Source1, 433 static InstX8632Mul *create(Cfg *Func, Variable *Dest, Variable *Source1,
422 Operand *Source2) { 434 Operand *Source2) {
423 return new (Func->allocate<InstX8632Mul>()) 435 return new (Func->allocate<InstX8632Mul>())
424 InstX8632Mul(Func, Dest, Source1, Source2); 436 InstX8632Mul(Func, Dest, Source1, Source2);
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after
869 881
870 InstX8632Xadd(Cfg *Func, Operand *Dest, Variable *Source, bool Locked); 882 InstX8632Xadd(Cfg *Func, Operand *Dest, Variable *Source, bool Locked);
871 InstX8632Xadd(const InstX8632Xadd &) LLVM_DELETED_FUNCTION; 883 InstX8632Xadd(const InstX8632Xadd &) LLVM_DELETED_FUNCTION;
872 InstX8632Xadd &operator=(const InstX8632Xadd &) LLVM_DELETED_FUNCTION; 884 InstX8632Xadd &operator=(const InstX8632Xadd &) LLVM_DELETED_FUNCTION;
873 virtual ~InstX8632Xadd() {} 885 virtual ~InstX8632Xadd() {}
874 }; 886 };
875 887
876 } // end of namespace Ice 888 } // end of namespace Ice
877 889
878 #endif // SUBZERO_SRC_ICEINSTX8632_H 890 #endif // SUBZERO_SRC_ICEINSTX8632_H
OLDNEW
« no previous file with comments | « no previous file | src/IceInstX8632.cpp » ('j') | src/IceTargetLoweringX8632.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698