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

Side by Side Diff: src/IceAssemblerMIPS32.h

Issue 2085303002: Subzero, MIPS32: Cross-testing enabled for MIPS32 (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix typo for srlv opcode Created 4 years, 2 months 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
« no previous file with comments | « runtime/szrt_asm_mips32.s ('k') | src/IceAssemblerMIPS32.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 for (const Label *Label : LocalLabels) { 53 for (const Label *Label : LocalLabels) {
54 Label->finalCheck(); 54 Label->finalCheck();
55 } 55 }
56 } 56 }
57 } 57 }
58 58
59 void trap(); 59 void trap();
60 60
61 void nop(); 61 void nop();
62 62
63 void emitRsRt(IValueT Opcode, const Operand *OpRs, const Operand *OpRt,
64 const char *InsnName);
65
63 void emitRtRsImm16(IValueT Opcode, const Operand *OpRt, const Operand *OpRs, 66 void emitRtRsImm16(IValueT Opcode, const Operand *OpRt, const Operand *OpRs,
64 uint32_t Imm, const char *InsnName); 67 uint32_t Imm, const char *InsnName);
65 68
66 void emitFtRsImm16(IValueT Opcode, const Operand *OpFt, const Operand *OpRs, 69 void emitFtRsImm16(IValueT Opcode, const Operand *OpFt, const Operand *OpRs,
67 uint32_t Imm, const char *InsnName); 70 uint32_t Imm, const char *InsnName);
68 71
69 void emitRdRtSa(IValueT Opcode, const Operand *OpRd, const Operand *OpRt, 72 void emitRdRtSa(IValueT Opcode, const Operand *OpRd, const Operand *OpRt,
70 uint32_t Sa, const char *InsnName); 73 uint32_t Sa, const char *InsnName);
71 74
72 void emitRdRsRt(IValueT Opcode, const Operand *OpRd, const Operand *OpRs, 75 void emitRdRsRt(IValueT Opcode, const Operand *OpRd, const Operand *OpRs,
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 void cvt_d_s(const Operand *OpFd, const Operand *OpFs); 150 void cvt_d_s(const Operand *OpFd, const Operand *OpFs);
148 151
149 void cvt_d_w(const Operand *OpFd, const Operand *OpFs); 152 void cvt_d_w(const Operand *OpFd, const Operand *OpFs);
150 153
151 void cvt_s_d(const Operand *OpFd, const Operand *OpFs); 154 void cvt_s_d(const Operand *OpFd, const Operand *OpFs);
152 155
153 void cvt_s_l(const Operand *OpFd, const Operand *OpFs); 156 void cvt_s_l(const Operand *OpFd, const Operand *OpFs);
154 157
155 void cvt_s_w(const Operand *OpFd, const Operand *OpFs); 158 void cvt_s_w(const Operand *OpFd, const Operand *OpFs);
156 159
160 void div(const Operand *OpRs, const Operand *OpRt);
161
157 void div_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 162 void div_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
158 163
159 void div_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 164 void div_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
160 165
166 void lui(const Operand *OpRt, const uint16_t Imm);
167
161 void lw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset); 168 void lw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset);
162 169
163 void mfc1(const Operand *OpRt, const Operand *OpFs); 170 void mfc1(const Operand *OpRt, const Operand *OpFs);
164 171
172 void mfhi(const Operand *OpRd);
173
174 void mflo(const Operand *OpRd);
175
165 void mov_d(const Operand *OpFd, const Operand *OpFs); 176 void mov_d(const Operand *OpFd, const Operand *OpFs);
166 177
167 void mov_s(const Operand *OpFd, const Operand *OpFs); 178 void mov_s(const Operand *OpFd, const Operand *OpFs);
168 179
169 void move(const Operand *OpRd, const Operand *OpRs); 180 void move(const Operand *OpRd, const Operand *OpRs);
170 181
171 void movf(const Operand *OpRd, const Operand *OpRs, const Operand *OpCc); 182 void movf(const Operand *OpRd, const Operand *OpRs, const Operand *OpCc);
172 183
173 void movn(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 184 void movn(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
174 185
175 void movn_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 186 void movn_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
176 187
177 void movn_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 188 void movn_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
178 189
179 void movt(const Operand *OpRd, const Operand *OpRs, const Operand *OpCc); 190 void movt(const Operand *OpRd, const Operand *OpRs, const Operand *OpCc);
180 191
181 void movz_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 192 void movz_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
182 193
183 void movz_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 194 void movz_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
184 195
185 void mtc1(const Operand *OpRt, const Operand *OpFs); 196 void mtc1(const Operand *OpRt, const Operand *OpFs);
186 197
198 void mthi(const Operand *OpRs);
199
200 void mtlo(const Operand *OpRs);
201
202 void mul(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
203
187 void mul_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 204 void mul_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
188 205
189 void mul_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 206 void mul_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
190 207
208 void multu(const Operand *OpRs, const Operand *OpRt);
209
191 void nor(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 210 void nor(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
192 211
193 void or_(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 212 void or_(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
194 213
195 void ori(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); 214 void ori(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm);
196 215
197 void ret(void); 216 void ret(void);
198 217
199 void sll(const Operand *OpRd, const Operand *OpRt, const uint32_t Sa); 218 void sll(const Operand *OpRd, const Operand *OpRt, const uint32_t Sa);
200 219
220 void sllv(const Operand *OpRd, const Operand *OpRt, const Operand *OpRs);
221
201 void slt(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 222 void slt(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
202 223
203 void slti(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); 224 void slti(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm);
204 225
205 void sltiu(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); 226 void sltiu(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm);
206 227
207 void sltu(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 228 void sltu(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
208 229
209 void sqrt_d(const Operand *OpFd, const Operand *OpFs); 230 void sqrt_d(const Operand *OpFd, const Operand *OpFs);
210 231
211 void sqrt_s(const Operand *OpFd, const Operand *OpFs); 232 void sqrt_s(const Operand *OpFd, const Operand *OpFs);
212 233
213 void sra(const Operand *OpRd, const Operand *OpRt, const uint32_t Sa); 234 void sra(const Operand *OpRd, const Operand *OpRt, const uint32_t Sa);
214 235
215 void srl(const Operand *OpRd, const Operand *OpRt, const uint32_t Sa); 236 void srl(const Operand *OpRd, const Operand *OpRt, const uint32_t Sa);
216 237
238 void srlv(const Operand *OpRd, const Operand *OpRt, const Operand *OpRs);
239
217 void sub_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 240 void sub_d(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
218 241
219 void sub_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt); 242 void sub_s(const Operand *OpFd, const Operand *OpFs, const Operand *OpFt);
220 243
221 void subu(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 244 void subu(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
222 245
223 void sw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset); 246 void sw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset);
224 247
225 void teq(const Operand *OpRs, const Operand *OpRt, const uint32_t TrapCode); 248 void teq(const Operand *OpRs, const Operand *OpRt, const uint32_t TrapCode);
226 249
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 void emitInst(IValueT Value) { 327 void emitInst(IValueT Value) {
305 AssemblerBuffer::EnsureCapacity _(&Buffer); 328 AssemblerBuffer::EnsureCapacity _(&Buffer);
306 Buffer.emit<IValueT>(Value); 329 Buffer.emit<IValueT>(Value);
307 } 330 }
308 }; 331 };
309 332
310 } // end of namespace MIPS32 333 } // end of namespace MIPS32
311 } // end of namespace Ice 334 } // end of namespace Ice
312 335
313 #endif // SUBZERO_SRC_ICEASSEMBLERMIPS32_H 336 #endif // SUBZERO_SRC_ICEASSEMBLERMIPS32_H
OLDNEW
« no previous file with comments | « runtime/szrt_asm_mips32.s ('k') | src/IceAssemblerMIPS32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698