OLD | NEW |
1 //===- subzero/src/IceInstMips32.cpp - Mips32 instruction implementation --===// | 1 //===- subzero/src/IceInstMips32.cpp - Mips32 instruction implementation --===// |
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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 template <> const char *InstMIPS32And::Opcode = "and"; | 58 template <> const char *InstMIPS32And::Opcode = "and"; |
59 template <> const char *InstMIPS32Mfhi::Opcode = "mfhi"; | 59 template <> const char *InstMIPS32Mfhi::Opcode = "mfhi"; |
60 template <> const char *InstMIPS32Mflo::Opcode = "mflo"; | 60 template <> const char *InstMIPS32Mflo::Opcode = "mflo"; |
61 template <> const char *InstMIPS32Mthi::Opcode = "mthi"; | 61 template <> const char *InstMIPS32Mthi::Opcode = "mthi"; |
62 template <> const char *InstMIPS32Mtlo::Opcode = "mtlo"; | 62 template <> const char *InstMIPS32Mtlo::Opcode = "mtlo"; |
63 template <> const char *InstMIPS32Mul::Opcode = "mul"; | 63 template <> const char *InstMIPS32Mul::Opcode = "mul"; |
64 template <> const char *InstMIPS32Mult::Opcode = "mult"; | 64 template <> const char *InstMIPS32Mult::Opcode = "mult"; |
65 template <> const char *InstMIPS32Multu::Opcode = "multu"; | 65 template <> const char *InstMIPS32Multu::Opcode = "multu"; |
66 template <> const char *InstMIPS32Or::Opcode = "or"; | 66 template <> const char *InstMIPS32Or::Opcode = "or"; |
67 template <> const char *InstMIPS32Ori::Opcode = "ori"; | 67 template <> const char *InstMIPS32Ori::Opcode = "ori"; |
| 68 template <> const char *InstMIPS32Slt::Opcode = "slt"; |
| 69 template <> const char *InstMIPS32Slti::Opcode = "slti"; |
| 70 template <> const char *InstMIPS32Sltiu::Opcode = "sltiu"; |
68 template <> const char *InstMIPS32Sltu::Opcode = "sltu"; | 71 template <> const char *InstMIPS32Sltu::Opcode = "sltu"; |
69 template <> const char *InstMIPS32Sub::Opcode = "sub"; | 72 template <> const char *InstMIPS32Sub::Opcode = "sub"; |
70 template <> const char *InstMIPS32Subu::Opcode = "subu"; | 73 template <> const char *InstMIPS32Subu::Opcode = "subu"; |
71 template <> const char *InstMIPS32Xor::Opcode = "xor"; | 74 template <> const char *InstMIPS32Xor::Opcode = "xor"; |
| 75 template <> const char *InstMIPS32Xori::Opcode = "xori"; |
72 | 76 |
73 template <> void InstMIPS32Mflo::emit(const Cfg *Func) const { | 77 template <> void InstMIPS32Mflo::emit(const Cfg *Func) const { |
74 if (!BuildDefs::dump()) | 78 if (!BuildDefs::dump()) |
75 return; | 79 return; |
76 emitUnaryopGPRFLoHi(Opcode, this, Func); | 80 emitUnaryopGPRFLoHi(Opcode, this, Func); |
77 } | 81 } |
78 | 82 |
79 template <> void InstMIPS32Mfhi::emit(const Cfg *Func) const { | 83 template <> void InstMIPS32Mfhi::emit(const Cfg *Func) const { |
80 if (!BuildDefs::dump()) | 84 if (!BuildDefs::dump()) |
81 return; | 85 return; |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 } | 451 } |
448 | 452 |
449 Str << "\t"; | 453 Str << "\t"; |
450 getDest()->emit(Func); | 454 getDest()->emit(Func); |
451 Str << ", "; | 455 Str << ", "; |
452 getSrc(0)->emit(Func); | 456 getSrc(0)->emit(Func); |
453 } | 457 } |
454 | 458 |
455 } // end of namespace MIPS32 | 459 } // end of namespace MIPS32 |
456 } // end of namespace Ice | 460 } // end of namespace Ice |
OLD | NEW |