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

Side by Side Diff: src/IceInst.h

Issue 412593002: Lower icmp operations between vector values. (Closed) Base URL: https://gerrit.chromium.org/gerrit/p/native_client/pnacl-subzero.git@master
Patch Set: Pass -filetype=obj to llvm-mc. 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/IceInst.h - High-level instructions ----------*- C++ -*-===// 1 //===- subzero/src/IceInst.h - High-level 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 Inst class and its target-independent 10 // This file declares the Inst class and its target-independent
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 InstFcmp &operator=(const InstFcmp &) LLVM_DELETED_FUNCTION; 396 InstFcmp &operator=(const InstFcmp &) LLVM_DELETED_FUNCTION;
397 virtual ~InstFcmp() {} 397 virtual ~InstFcmp() {}
398 const FCond Condition; 398 const FCond Condition;
399 }; 399 };
400 400
401 // Integer comparison instruction. The source operands are captured 401 // Integer comparison instruction. The source operands are captured
402 // in getSrc(0) and getSrc(1). 402 // in getSrc(0) and getSrc(1).
403 class InstIcmp : public Inst { 403 class InstIcmp : public Inst {
404 public: 404 public:
405 enum ICond { 405 enum ICond {
406 #define X(tag, str) tag, 406 #define X(tag, str, isunsigned) tag,
407 ICEINSTICMP_TABLE 407 ICEINSTICMP_TABLE
408 #undef X 408 #undef X
409 _num 409 _num
410 }; 410 };
411 411
412 static InstIcmp *create(Cfg *Func, ICond Condition, Variable *Dest, 412 static InstIcmp *create(Cfg *Func, ICond Condition, Variable *Dest,
413 Operand *Source1, Operand *Source2) { 413 Operand *Source1, Operand *Source2) {
414 return new (Func->allocateInst<InstIcmp>()) 414 return new (Func->allocateInst<InstIcmp>())
415 InstIcmp(Func, Condition, Dest, Source1, Source2); 415 InstIcmp(Func, Condition, Dest, Source1, Source2);
416 } 416 }
417 ICond getCondition() const { return Condition; } 417 ICond getCondition() const { return Condition; }
418 bool isUnsigned() const;
418 virtual void dump(const Cfg *Func) const; 419 virtual void dump(const Cfg *Func) const;
419 static bool classof(const Inst *Inst) { return Inst->getKind() == Icmp; } 420 static bool classof(const Inst *Inst) { return Inst->getKind() == Icmp; }
420 421
421 private: 422 private:
422 InstIcmp(Cfg *Func, ICond Condition, Variable *Dest, Operand *Source1, 423 InstIcmp(Cfg *Func, ICond Condition, Variable *Dest, Operand *Source1,
423 Operand *Source2); 424 Operand *Source2);
424 InstIcmp(const InstIcmp &) LLVM_DELETED_FUNCTION; 425 InstIcmp(const InstIcmp &) LLVM_DELETED_FUNCTION;
425 InstIcmp &operator=(const InstIcmp &) LLVM_DELETED_FUNCTION; 426 InstIcmp &operator=(const InstIcmp &) LLVM_DELETED_FUNCTION;
426 virtual ~InstIcmp() {} 427 virtual ~InstIcmp() {}
427 const ICond Condition; 428 const ICond Condition;
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 assert(Kind >= Target); 749 assert(Kind >= Target);
749 } 750 }
750 InstTarget(const InstTarget &) LLVM_DELETED_FUNCTION; 751 InstTarget(const InstTarget &) LLVM_DELETED_FUNCTION;
751 InstTarget &operator=(const InstTarget &) LLVM_DELETED_FUNCTION; 752 InstTarget &operator=(const InstTarget &) LLVM_DELETED_FUNCTION;
752 virtual ~InstTarget() {} 753 virtual ~InstTarget() {}
753 }; 754 };
754 755
755 } // end of namespace Ice 756 } // end of namespace Ice
756 757
757 #endif // SUBZERO_SRC_ICEINST_H 758 #endif // SUBZERO_SRC_ICEINST_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698