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

Side by Side Diff: src/IceAssemblerMIPS32.h

Issue 2504253002: [Subzero][MIPS] Implements atomic intrinsics for MIPS32 (Closed)
Patch Set: Included lit tests and formated source code Created 4 years, 1 month 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
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 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 188
189 void jal(const ConstantRelocatable *Target); 189 void jal(const ConstantRelocatable *Target);
190 190
191 void jalr(const Operand *OpRs, const Operand *OpRd); 191 void jalr(const Operand *OpRs, const Operand *OpRd);
192 192
193 void lui(const Operand *OpRt, const Operand *OpImm, const RelocOp Reloc); 193 void lui(const Operand *OpRt, const Operand *OpImm, const RelocOp Reloc);
194 194
195 void ldc1(const Operand *OpRt, const Operand *OpBase, const Operand *OpOff, 195 void ldc1(const Operand *OpRt, const Operand *OpBase, const Operand *OpOff,
196 const RelocOp Reloc); 196 const RelocOp Reloc);
197 197
198 void ll(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset);
199
198 void lw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset); 200 void lw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset);
199 201
200 void lwc1(const Operand *OpRt, const Operand *OpBase, const Operand *OpOff, 202 void lwc1(const Operand *OpRt, const Operand *OpBase, const Operand *OpOff,
201 const RelocOp Reloc); 203 const RelocOp Reloc);
202 204
203 void mfc1(const Operand *OpRt, const Operand *OpFs); 205 void mfc1(const Operand *OpRt, const Operand *OpFs);
204 206
205 void mfhi(const Operand *OpRd); 207 void mfhi(const Operand *OpRd);
206 208
207 void mflo(const Operand *OpRd); 209 void mflo(const Operand *OpRd);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 void multu(const Operand *OpRs, const Operand *OpRt); 247 void multu(const Operand *OpRs, const Operand *OpRt);
246 248
247 void nor(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 249 void nor(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
248 250
249 void or_(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 251 void or_(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
250 252
251 void ori(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); 253 void ori(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm);
252 254
253 void ret(void); 255 void ret(void);
254 256
257 void sc(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset);
258
255 void sll(const Operand *OpRd, const Operand *OpRt, const uint32_t Sa); 259 void sll(const Operand *OpRd, const Operand *OpRt, const uint32_t Sa);
256 260
257 void sllv(const Operand *OpRd, const Operand *OpRt, const Operand *OpRs); 261 void sllv(const Operand *OpRd, const Operand *OpRt, const Operand *OpRs);
258 262
259 void slt(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 263 void slt(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
260 264
261 void slti(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); 265 void slti(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm);
262 266
263 void sltiu(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm); 267 void sltiu(const Operand *OpRt, const Operand *OpRs, const uint32_t Imm);
264 268
(...skipping 18 matching lines...) Expand all
283 void subu(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt); 287 void subu(const Operand *OpRd, const Operand *OpRs, const Operand *OpRt);
284 288
285 void sdc1(const Operand *OpRt, const Operand *OpBase, const Operand *OpOff, 289 void sdc1(const Operand *OpRt, const Operand *OpBase, const Operand *OpOff,
286 const RelocOp Reloc); 290 const RelocOp Reloc);
287 291
288 void sw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset); 292 void sw(const Operand *OpRt, const Operand *OpBase, const uint32_t Offset);
289 293
290 void swc1(const Operand *OpRt, const Operand *OpBase, const Operand *OpOff, 294 void swc1(const Operand *OpRt, const Operand *OpBase, const Operand *OpOff,
291 const RelocOp Reloc); 295 const RelocOp Reloc);
292 296
297 void sync();
298
293 void teq(const Operand *OpRs, const Operand *OpRt, const uint32_t TrapCode); 299 void teq(const Operand *OpRs, const Operand *OpRt, const uint32_t TrapCode);
294 300
295 void trunc_l_d(const Operand *OpFd, const Operand *OpFs); 301 void trunc_l_d(const Operand *OpFd, const Operand *OpFs);
296 302
297 void trunc_l_s(const Operand *OpFd, const Operand *OpFs); 303 void trunc_l_s(const Operand *OpFd, const Operand *OpFs);
298 304
299 void trunc_w_d(const Operand *OpFd, const Operand *OpFs); 305 void trunc_w_d(const Operand *OpFd, const Operand *OpFs);
300 306
301 void trunc_w_s(const Operand *OpFd, const Operand *OpFs); 307 void trunc_w_s(const Operand *OpFd, const Operand *OpFs);
302 308
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 void emitInst(IValueT Value) { 388 void emitInst(IValueT Value) {
383 AssemblerBuffer::EnsureCapacity _(&Buffer); 389 AssemblerBuffer::EnsureCapacity _(&Buffer);
384 Buffer.emit<IValueT>(Value); 390 Buffer.emit<IValueT>(Value);
385 } 391 }
386 }; 392 };
387 393
388 } // end of namespace MIPS32 394 } // end of namespace MIPS32
389 } // end of namespace Ice 395 } // end of namespace Ice
390 396
391 #endif // SUBZERO_SRC_ICEASSEMBLERMIPS32_H 397 #endif // SUBZERO_SRC_ICEASSEMBLERMIPS32_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698