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

Side by Side Diff: src/IceInstARM32.h

Issue 1516863003: Add various forms of LDREX/STREX to ARM integrated assembler. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix latest issues. Created 5 years 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 | « src/IceAssemblerARM32.cpp ('k') | src/IceInstARM32.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/IceInstARM32.h - ARM32 machine instructions --*- C++ -*-===// 1 //===- subzero/src/IceInstARM32.h - ARM32 machine 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 /// \file 10 /// \file
(...skipping 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after
1159 1159
1160 public: 1160 public:
1161 /// Value must be a register. 1161 /// Value must be a register.
1162 static InstARM32Strex *create(Cfg *Func, Variable *Dest, Variable *Value, 1162 static InstARM32Strex *create(Cfg *Func, Variable *Dest, Variable *Value,
1163 OperandARM32Mem *Mem, 1163 OperandARM32Mem *Mem,
1164 CondARM32::Cond Predicate) { 1164 CondARM32::Cond Predicate) {
1165 return new (Func->allocate<InstARM32Strex>()) 1165 return new (Func->allocate<InstARM32Strex>())
1166 InstARM32Strex(Func, Dest, Value, Mem, Predicate); 1166 InstARM32Strex(Func, Dest, Value, Mem, Predicate);
1167 } 1167 }
1168 void emit(const Cfg *Func) const override; 1168 void emit(const Cfg *Func) const override;
1169 void emitIAS(const Cfg *Func) const override;
1169 void dump(const Cfg *Func) const override; 1170 void dump(const Cfg *Func) const override;
1170 static bool classof(const Inst *Inst) { return isClassof(Inst, Strex); } 1171 static bool classof(const Inst *Inst) { return isClassof(Inst, Strex); }
1171 1172
1172 private: 1173 private:
1173 InstARM32Strex(Cfg *Func, Variable *Dest, Variable *Value, 1174 InstARM32Strex(Cfg *Func, Variable *Dest, Variable *Value,
1174 OperandARM32Mem *Mem, CondARM32::Cond Predicate); 1175 OperandARM32Mem *Mem, CondARM32::Cond Predicate);
1175 }; 1176 };
1176 1177
1177 class InstARM32Trap : public InstARM32 { 1178 class InstARM32Trap : public InstARM32 {
1178 InstARM32Trap() = delete; 1179 InstARM32Trap() = delete;
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
1372 // default implementations. Without this, there is the possibility of ODR 1373 // default implementations. Without this, there is the possibility of ODR
1373 // violations and link errors. 1374 // violations and link errors.
1374 1375
1375 template <> void InstARM32Ldr::emit(const Cfg *Func) const; 1376 template <> void InstARM32Ldr::emit(const Cfg *Func) const;
1376 template <> void InstARM32Movw::emit(const Cfg *Func) const; 1377 template <> void InstARM32Movw::emit(const Cfg *Func) const;
1377 template <> void InstARM32Movt::emit(const Cfg *Func) const; 1378 template <> void InstARM32Movt::emit(const Cfg *Func) const;
1378 1379
1379 } // end of namespace Ice 1380 } // end of namespace Ice
1380 1381
1381 #endif // SUBZERO_SRC_ICEINSTARM32_H 1382 #endif // SUBZERO_SRC_ICEINSTARM32_H
OLDNEW
« no previous file with comments | « src/IceAssemblerARM32.cpp ('k') | src/IceInstARM32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698