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

Side by Side Diff: src/IceInstARM32.h

Issue 1507873004: Add DMB instruction to the ARM integrated assembler. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: 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
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 1291 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 class InstARM32Dmb final : public InstARM32Pred { 1302 class InstARM32Dmb final : public InstARM32Pred {
1303 InstARM32Dmb() = delete; 1303 InstARM32Dmb() = delete;
1304 InstARM32Dmb(const InstARM32Dmb &) = delete; 1304 InstARM32Dmb(const InstARM32Dmb &) = delete;
1305 InstARM32Dmb &operator=(const InstARM32Dmb &) = delete; 1305 InstARM32Dmb &operator=(const InstARM32Dmb &) = delete;
1306 1306
1307 public: 1307 public:
1308 static InstARM32Dmb *create(Cfg *Func) { 1308 static InstARM32Dmb *create(Cfg *Func) {
1309 return new (Func->allocate<InstARM32Dmb>()) InstARM32Dmb(Func); 1309 return new (Func->allocate<InstARM32Dmb>()) InstARM32Dmb(Func);
1310 } 1310 }
1311 void emit(const Cfg *Func) const override; 1311 void emit(const Cfg *Func) const override;
1312 void emitIAS(const Cfg *Func) const override;
1312 void dump(const Cfg *Func) const override; 1313 void dump(const Cfg *Func) const override;
1313 static bool classof(const Inst *Inst) { return isClassof(Inst, Dmb); } 1314 static bool classof(const Inst *Inst) { return isClassof(Inst, Dmb); }
1314 1315
1315 private: 1316 private:
1316 explicit InstARM32Dmb(Cfg *Func); 1317 explicit InstARM32Dmb(Cfg *Func);
1317 }; 1318 };
1318 1319
1319 // Declare partial template specializations of emit() methods that already have 1320 // Declare partial template specializations of emit() methods that already have
1320 // default implementations. Without this, there is the possibility of ODR 1321 // default implementations. Without this, there is the possibility of ODR
1321 // violations and link errors. 1322 // violations and link errors.
1322 1323
1323 template <> void InstARM32Ldr::emit(const Cfg *Func) const; 1324 template <> void InstARM32Ldr::emit(const Cfg *Func) const;
1324 template <> void InstARM32Movw::emit(const Cfg *Func) const; 1325 template <> void InstARM32Movw::emit(const Cfg *Func) const;
1325 template <> void InstARM32Movt::emit(const Cfg *Func) const; 1326 template <> void InstARM32Movt::emit(const Cfg *Func) const;
1326 1327
1327 } // end of namespace Ice 1328 } // end of namespace Ice
1328 1329
1329 #endif // SUBZERO_SRC_ICEINSTARM32_H 1330 #endif // SUBZERO_SRC_ICEINSTARM32_H
OLDNEW
« src/IceAssemblerARM32.h ('K') | « src/IceAssemblerARM32.cpp ('k') | src/IceInstARM32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698