| OLD | NEW |
| 1 //===- subzero/src/IceAssemblerMIPS32.h - Assembler for MIPS ----*- C++ -*-===// | 1 //===- subzero/src/IceAssemblerMIPS32.h - Assembler for MIPS ----*- 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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 | 65 |
| 66 void emitFtRsImm16(IValueT Opcode, const Operand *OpFt, const Operand *OpRs, | 66 void emitFtRsImm16(IValueT Opcode, const Operand *OpFt, const Operand *OpRs, |
| 67 uint32_t Imm, const char *InsnName); | 67 uint32_t Imm, const char *InsnName); |
| 68 | 68 |
| 69 void emitRdRtSa(IValueT Opcode, const Operand *OpRd, const Operand *OpRt, | 69 void emitRdRtSa(IValueT Opcode, const Operand *OpRd, const Operand *OpRt, |
| 70 uint32_t Sa, const char *InsnName); | 70 uint32_t Sa, const char *InsnName); |
| 71 | 71 |
| 72 void emitRdRsRt(IValueT Opcode, const Operand *OpRd, const Operand *OpRs, | 72 void emitRdRsRt(IValueT Opcode, const Operand *OpRd, const Operand *OpRs, |
| 73 const Operand *OpRt, const char *InsnName); | 73 const Operand *OpRt, const char *InsnName); |
| 74 | 74 |
| 75 void emitCOP1Fcmp(IValueT Opcode, FPInstDataFormat Format, |
| 76 const Operand *OpFs, const Operand *OpFt, IValueT CC, |
| 77 const char *InsnName); |
| 78 |
| 75 void emitCOP1FmtFsFd(IValueT Opcode, FPInstDataFormat Format, | 79 void emitCOP1FmtFsFd(IValueT Opcode, FPInstDataFormat Format, |
| 76 const Operand *OpFd, const Operand *OpFs, | 80 const Operand *OpFd, const Operand *OpFs, |
| 77 const char *InsnName); | 81 const char *InsnName); |
| 78 | 82 |
| 79 void emitCOP1FmtFtFsFd(IValueT Opcode, FPInstDataFormat Format, | 83 void emitCOP1FmtFtFsFd(IValueT Opcode, FPInstDataFormat Format, |
| 80 const Operand *OpFd, const Operand *OpFs, | 84 const Operand *OpFd, const Operand *OpFs, |
| 81 const Operand *OpFt, const char *InsnName); | 85 const Operand *OpFt, const char *InsnName); |
| 82 | 86 |
| 83 void emitCOP1FmtRtFsFd(IValueT Opcode, FPInstDataFormat Format, | 87 void emitCOP1FmtRtFsFd(IValueT Opcode, FPInstDataFormat Format, |
| 84 const Operand *OpFd, const Operand *OpFs, | 88 const Operand *OpFd, const Operand *OpFs, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 101 void addu(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); | 105 void addu(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); |
| 102 | 106 |
| 103 void addiu(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); | 107 void addiu(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); |
| 104 | 108 |
| 105 void and_(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); | 109 void and_(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); |
| 106 | 110 |
| 107 void andi(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); | 111 void andi(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); |
| 108 | 112 |
| 109 void b(Label *TargetLabel); | 113 void b(Label *TargetLabel); |
| 110 | 114 |
| 115 void c_eq_d(const Operand *OpFd, const Operand *OpFs); |
| 116 |
| 117 void c_eq_s(const Operand *OpFd, const Operand *OpFs); |
| 118 |
| 119 void c_ole_d(const Operand *OpFd, const Operand *OpFs); |
| 120 |
| 121 void c_ole_s(const Operand *OpFd, const Operand *OpFs); |
| 122 |
| 123 void c_olt_d(const Operand *OpFd, const Operand *OpFs); |
| 124 |
| 125 void c_olt_s(const Operand *OpFd, const Operand *OpFs); |
| 126 |
| 127 void c_ueq_d(const Operand *OpFd, const Operand *OpFs); |
| 128 |
| 129 void c_ueq_s(const Operand *OpFd, const Operand *OpFs); |
| 130 |
| 131 void c_ule_d(const Operand *OpFd, const Operand *OpFs); |
| 132 |
| 133 void c_ule_s(const Operand *OpFd, const Operand *OpFs); |
| 134 |
| 135 void c_ult_d(const Operand *OpFd, const Operand *OpFs); |
| 136 |
| 137 void c_ult_s(const Operand *OpFd, const Operand *OpFs); |
| 138 |
| 139 void c_un_d(const Operand *OpFd, const Operand *OpFs); |
| 140 |
| 141 void c_un_s(const Operand *OpFd, const Operand *OpFs); |
| 142 |
| 111 void cvt_d_l(const Operand *OpFd, const Operand *OpFs); | 143 void cvt_d_l(const Operand *OpFd, const Operand *OpFs); |
| 112 | 144 |
| 113 void cvt_d_s(const Operand *OpFd, const Operand *OpFs); | 145 void cvt_d_s(const Operand *OpFd, const Operand *OpFs); |
| 114 | 146 |
| 115 void cvt_d_w(const Operand *OpFd, const Operand *OpFs); | 147 void cvt_d_w(const Operand *OpFd, const Operand *OpFs); |
| 116 | 148 |
| 117 void cvt_s_d(const Operand *OpFd, const Operand *OpFs); | 149 void cvt_s_d(const Operand *OpFd, const Operand *OpFs); |
| 118 | 150 |
| 119 void cvt_s_l(const Operand *OpFd, const Operand *OpFs); | 151 void cvt_s_l(const Operand *OpFd, const Operand *OpFs); |
| 120 | 152 |
| 121 void cvt_s_w(const Operand *OpFd, const Operand *OpFs); | 153 void cvt_s_w(const Operand *OpFd, const Operand *OpFs); |
| 122 | 154 |
| 123 void div_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); | 155 void div_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); |
| 124 | 156 |
| 125 void div_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); | 157 void div_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); |
| 126 | 158 |
| 127 void lw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset); | 159 void lw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset); |
| 128 | 160 |
| 129 void mfc1(const Operand *OpRt, const Operand *OpFs); | 161 void mfc1(const Operand *OpRt, const Operand *OpFs); |
| 130 | 162 |
| 131 void mov_d(const Operand *OpFd, const Operand *OpFs); | 163 void mov_d(const Operand *OpFd, const Operand *OpFs); |
| 132 | 164 |
| 133 void mov_s(const Operand *OpFd, const Operand *OpFs); | 165 void mov_s(const Operand *OpFd, const Operand *OpFs); |
| 134 | 166 |
| 135 void move(const Operand *OpRd, const Operand *OpRs); | 167 void move(const Operand *OpRd, const Operand *OpRs); |
| 136 | 168 |
| 169 void movf(const Operand *OpRd, const Operand *OpRs, const Operand *OpCc); |
| 170 |
| 137 void movn_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); | 171 void movn_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); |
| 138 | 172 |
| 139 void movn_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); | 173 void movn_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); |
| 140 | 174 |
| 175 void movt(const Operand *OpRd, const Operand *OpRs, const Operand *OpCc); |
| 176 |
| 141 void movz_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); | 177 void movz_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); |
| 142 | 178 |
| 143 void movz_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); | 179 void movz_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); |
| 144 | 180 |
| 145 void mtc1(const Operand *OpRt, const Operand *OpFs); | 181 void mtc1(const Operand *OpRt, const Operand *OpFs); |
| 146 | 182 |
| 147 void mul_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); | 183 void mul_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); |
| 148 | 184 |
| 149 void mul_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); | 185 void mul_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); |
| 150 | 186 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 void emitInst(IValueT Value) { | 294 void emitInst(IValueT Value) { |
| 259 AssemblerBuffer::EnsureCapacity _(&Buffer); | 295 AssemblerBuffer::EnsureCapacity _(&Buffer); |
| 260 Buffer.emit<IValueT>(Value); | 296 Buffer.emit<IValueT>(Value); |
| 261 } | 297 } |
| 262 }; | 298 }; |
| 263 | 299 |
| 264 } // end of namespace MIPS32 | 300 } // end of namespace MIPS32 |
| 265 } // end of namespace Ice | 301 } // end of namespace Ice |
| 266 | 302 |
| 267 #endif // SUBZERO_SRC_ICEASSEMBLERMIPS32_H | 303 #endif // SUBZERO_SRC_ICEASSEMBLERMIPS32_H |
| OLD | NEW |