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

Side by Side Diff: src/IceInstX8632.h

Issue 696753003: Subzero: Remove a TODO comment about shld/shrd. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 6 years, 1 month 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 | no next file » | 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 975 matching lines...) Expand 10 before | Expand all | Expand 10 after
986 void emit(const Cfg *Func) const override; 986 void emit(const Cfg *Func) const override;
987 void emitIAS(const Cfg *Func) const override; 987 void emitIAS(const Cfg *Func) const override;
988 void dump(const Cfg *Func) const override; 988 void dump(const Cfg *Func) const override;
989 static bool classof(const Inst *Inst) { return isClassof(Inst, Mul); } 989 static bool classof(const Inst *Inst) { return isClassof(Inst, Mul); }
990 990
991 private: 991 private:
992 InstX8632Mul(Cfg *Func, Variable *Dest, Variable *Source1, Operand *Source2); 992 InstX8632Mul(Cfg *Func, Variable *Dest, Variable *Source1, Operand *Source2);
993 ~InstX8632Mul() override {} 993 ~InstX8632Mul() override {}
994 }; 994 };
995 995
996 // Shld instruction - shift across a pair of operands. TODO: Verify 996 // Shld instruction - shift across a pair of operands.
997 // that the validator accepts the shld instruction.
998 class InstX8632Shld : public InstX8632 { 997 class InstX8632Shld : public InstX8632 {
999 InstX8632Shld(const InstX8632Shld &) = delete; 998 InstX8632Shld(const InstX8632Shld &) = delete;
1000 InstX8632Shld &operator=(const InstX8632Shld &) = delete; 999 InstX8632Shld &operator=(const InstX8632Shld &) = delete;
1001 1000
1002 public: 1001 public:
1003 static InstX8632Shld *create(Cfg *Func, Variable *Dest, Variable *Source1, 1002 static InstX8632Shld *create(Cfg *Func, Variable *Dest, Variable *Source1,
1004 Variable *Source2) { 1003 Variable *Source2) {
1005 return new (Func->allocate<InstX8632Shld>()) 1004 return new (Func->allocate<InstX8632Shld>())
1006 InstX8632Shld(Func, Dest, Source1, Source2); 1005 InstX8632Shld(Func, Dest, Source1, Source2);
1007 } 1006 }
1008 void emit(const Cfg *Func) const override; 1007 void emit(const Cfg *Func) const override;
1009 void emitIAS(const Cfg *Func) const override; 1008 void emitIAS(const Cfg *Func) const override;
1010 void dump(const Cfg *Func) const override; 1009 void dump(const Cfg *Func) const override;
1011 static bool classof(const Inst *Inst) { return isClassof(Inst, Shld); } 1010 static bool classof(const Inst *Inst) { return isClassof(Inst, Shld); }
1012 1011
1013 private: 1012 private:
1014 InstX8632Shld(Cfg *Func, Variable *Dest, Variable *Source1, 1013 InstX8632Shld(Cfg *Func, Variable *Dest, Variable *Source1,
1015 Variable *Source2); 1014 Variable *Source2);
1016 ~InstX8632Shld() override {} 1015 ~InstX8632Shld() override {}
1017 }; 1016 };
1018 1017
1019 // Shrd instruction - shift across a pair of operands. TODO: Verify 1018 // Shrd instruction - shift across a pair of operands.
1020 // that the validator accepts the shrd instruction.
1021 class InstX8632Shrd : public InstX8632 { 1019 class InstX8632Shrd : public InstX8632 {
1022 InstX8632Shrd(const InstX8632Shrd &) = delete; 1020 InstX8632Shrd(const InstX8632Shrd &) = delete;
1023 InstX8632Shrd &operator=(const InstX8632Shrd &) = delete; 1021 InstX8632Shrd &operator=(const InstX8632Shrd &) = delete;
1024 1022
1025 public: 1023 public:
1026 static InstX8632Shrd *create(Cfg *Func, Variable *Dest, Variable *Source1, 1024 static InstX8632Shrd *create(Cfg *Func, Variable *Dest, Variable *Source1,
1027 Variable *Source2) { 1025 Variable *Source2) {
1028 return new (Func->allocate<InstX8632Shrd>()) 1026 return new (Func->allocate<InstX8632Shrd>())
1029 InstX8632Shrd(Func, Dest, Source1, Source2); 1027 InstX8632Shrd(Func, Dest, Source1, Source2);
1030 } 1028 }
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
1545 template <> void InstX8632Pinsr::emitIAS(const Cfg *Func) const; 1543 template <> void InstX8632Pinsr::emitIAS(const Cfg *Func) const;
1546 template <> void InstX8632Movsx::emitIAS(const Cfg *Func) const; 1544 template <> void InstX8632Movsx::emitIAS(const Cfg *Func) const;
1547 template <> void InstX8632Movzx::emitIAS(const Cfg *Func) const; 1545 template <> void InstX8632Movzx::emitIAS(const Cfg *Func) const;
1548 template <> void InstX8632Pmull::emitIAS(const Cfg *Func) const; 1546 template <> void InstX8632Pmull::emitIAS(const Cfg *Func) const;
1549 template <> void InstX8632Pshufd::emitIAS(const Cfg *Func) const; 1547 template <> void InstX8632Pshufd::emitIAS(const Cfg *Func) const;
1550 template <> void InstX8632Shufps::emitIAS(const Cfg *Func) const; 1548 template <> void InstX8632Shufps::emitIAS(const Cfg *Func) const;
1551 1549
1552 } // end of namespace Ice 1550 } // end of namespace Ice
1553 1551
1554 #endif // SUBZERO_SRC_ICEINSTX8632_H 1552 #endif // SUBZERO_SRC_ICEINSTX8632_H
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698