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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 template <> const char *InstMIPS32Mfhi::Opcode = "mfhi"; | 60 template <> const char *InstMIPS32Mfhi::Opcode = "mfhi"; |
61 template <> const char *InstMIPS32Mflo::Opcode = "mflo"; | 61 template <> const char *InstMIPS32Mflo::Opcode = "mflo"; |
62 template <> const char *InstMIPS32Mthi::Opcode = "mthi"; | 62 template <> const char *InstMIPS32Mthi::Opcode = "mthi"; |
63 template <> const char *InstMIPS32Mtlo::Opcode = "mtlo"; | 63 template <> const char *InstMIPS32Mtlo::Opcode = "mtlo"; |
64 template <> const char *InstMIPS32Mul::Opcode = "mul"; | 64 template <> const char *InstMIPS32Mul::Opcode = "mul"; |
65 template <> const char *InstMIPS32Mult::Opcode = "mult"; | 65 template <> const char *InstMIPS32Mult::Opcode = "mult"; |
66 template <> const char *InstMIPS32Multu::Opcode = "multu"; | 66 template <> const char *InstMIPS32Multu::Opcode = "multu"; |
67 template <> const char *InstMIPS32Or::Opcode = "or"; | 67 template <> const char *InstMIPS32Or::Opcode = "or"; |
68 template <> const char *InstMIPS32Ori::Opcode = "ori"; | 68 template <> const char *InstMIPS32Ori::Opcode = "ori"; |
69 template <> const char *InstMIPS32Sll::Opcode = "sll"; | 69 template <> const char *InstMIPS32Sll::Opcode = "sll"; |
| 70 template <> const char *InstMIPS32Sllv::Opcode = "sllv"; |
70 template <> const char *InstMIPS32Slt::Opcode = "slt"; | 71 template <> const char *InstMIPS32Slt::Opcode = "slt"; |
71 template <> const char *InstMIPS32Slti::Opcode = "slti"; | 72 template <> const char *InstMIPS32Slti::Opcode = "slti"; |
72 template <> const char *InstMIPS32Sltiu::Opcode = "sltiu"; | 73 template <> const char *InstMIPS32Sltiu::Opcode = "sltiu"; |
73 template <> const char *InstMIPS32Sltu::Opcode = "sltu"; | 74 template <> const char *InstMIPS32Sltu::Opcode = "sltu"; |
74 template <> const char *InstMIPS32Sra::Opcode = "sra"; | 75 template <> const char *InstMIPS32Sra::Opcode = "sra"; |
| 76 template <> const char *InstMIPS32Srav::Opcode = "srav"; |
| 77 template <> const char *InstMIPS32Srl::Opcode = "srl"; |
| 78 template <> const char *InstMIPS32Srlv::Opcode = "srlv"; |
75 template <> const char *InstMIPS32Sub::Opcode = "sub"; | 79 template <> const char *InstMIPS32Sub::Opcode = "sub"; |
76 template <> const char *InstMIPS32Subu::Opcode = "subu"; | 80 template <> const char *InstMIPS32Subu::Opcode = "subu"; |
77 template <> const char *InstMIPS32Xor::Opcode = "xor"; | 81 template <> const char *InstMIPS32Xor::Opcode = "xor"; |
78 template <> const char *InstMIPS32Xori::Opcode = "xori"; | 82 template <> const char *InstMIPS32Xori::Opcode = "xori"; |
79 | 83 |
80 template <> void InstMIPS32Mflo::emit(const Cfg *Func) const { | 84 template <> void InstMIPS32Mflo::emit(const Cfg *Func) const { |
81 if (!BuildDefs::dump()) | 85 if (!BuildDefs::dump()) |
82 return; | 86 return; |
83 emitUnaryopGPRFLoHi(Opcode, this, Func); | 87 emitUnaryopGPRFLoHi(Opcode, this, Func); |
84 } | 88 } |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 } | 458 } |
455 | 459 |
456 Str << "\t"; | 460 Str << "\t"; |
457 getDest()->emit(Func); | 461 getDest()->emit(Func); |
458 Str << ", "; | 462 Str << ", "; |
459 getSrc(0)->emit(Func); | 463 getSrc(0)->emit(Func); |
460 } | 464 } |
461 | 465 |
462 } // end of namespace MIPS32 | 466 } // end of namespace MIPS32 |
463 } // end of namespace Ice | 467 } // end of namespace Ice |
OLD | NEW |