OLD | NEW |
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 1230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1241 class InstARM32Trap : public InstARM32 { | 1241 class InstARM32Trap : public InstARM32 { |
1242 InstARM32Trap() = delete; | 1242 InstARM32Trap() = delete; |
1243 InstARM32Trap(const InstARM32Trap &) = delete; | 1243 InstARM32Trap(const InstARM32Trap &) = delete; |
1244 InstARM32Trap &operator=(const InstARM32Trap &) = delete; | 1244 InstARM32Trap &operator=(const InstARM32Trap &) = delete; |
1245 | 1245 |
1246 public: | 1246 public: |
1247 static InstARM32Trap *create(Cfg *Func) { | 1247 static InstARM32Trap *create(Cfg *Func) { |
1248 return new (Func->allocate<InstARM32Trap>()) InstARM32Trap(Func); | 1248 return new (Func->allocate<InstARM32Trap>()) InstARM32Trap(Func); |
1249 } | 1249 } |
1250 void emit(const Cfg *Func) const override; | 1250 void emit(const Cfg *Func) const override; |
| 1251 void emitIAS(const Cfg *Func) const override; |
1251 void dump(const Cfg *Func) const override; | 1252 void dump(const Cfg *Func) const override; |
1252 static bool classof(const Inst *Inst) { return isClassof(Inst, Trap); } | 1253 static bool classof(const Inst *Inst) { return isClassof(Inst, Trap); } |
1253 | 1254 |
1254 private: | 1255 private: |
1255 explicit InstARM32Trap(Cfg *Func); | 1256 explicit InstARM32Trap(Cfg *Func); |
1256 }; | 1257 }; |
1257 | 1258 |
1258 /// Unsigned Multiply Long: d.lo, d.hi := x * y | 1259 /// Unsigned Multiply Long: d.lo, d.hi := x * y |
1259 class InstARM32Umull : public InstARM32Pred { | 1260 class InstARM32Umull : public InstARM32Pred { |
1260 InstARM32Umull() = delete; | 1261 InstARM32Umull() = delete; |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1442 // violations and link errors. | 1443 // violations and link errors. |
1443 | 1444 |
1444 template <> void InstARM32Ldr::emit(const Cfg *Func) const; | 1445 template <> void InstARM32Ldr::emit(const Cfg *Func) const; |
1445 template <> void InstARM32Movw::emit(const Cfg *Func) const; | 1446 template <> void InstARM32Movw::emit(const Cfg *Func) const; |
1446 template <> void InstARM32Movt::emit(const Cfg *Func) const; | 1447 template <> void InstARM32Movt::emit(const Cfg *Func) const; |
1447 | 1448 |
1448 } // end of namespace ARM32 | 1449 } // end of namespace ARM32 |
1449 } // end of namespace Ice | 1450 } // end of namespace Ice |
1450 | 1451 |
1451 #endif // SUBZERO_SRC_ICEINSTARM32_H | 1452 #endif // SUBZERO_SRC_ICEINSTARM32_H |
OLD | NEW |