Lines Matching refs:OC

224 bool Decoder::opcode_0xxxxxxx(const uint8_t *OC, unsigned &Offset,
226 uint8_t Imm = OC[Offset] & 0x7f;
228 OC[Offset],
235 bool Decoder::opcode_10Lxxxxx(const uint8_t *OC, unsigned &Offset,
237 unsigned Link = (OC[Offset] & 0x20) >> 5;
239 | ((OC[Offset + 0] & 0x1f) << 8)
240 | ((OC[Offset + 1] & 0xff) << 0);
245 OC[Offset + 0], OC[Offset + 1],
254 bool Decoder::opcode_1100xxxx(const uint8_t *OC, unsigned &Offset,
258 OC[Offset], OC[Offset] & 0xf);
261 OC[Offset], OC[Offset] & 0xf);
266 bool Decoder::opcode_11010Lxx(const uint8_t *OC, unsigned &Offset,
268 unsigned Link = (OC[Offset] & 0x4) >> 3;
269 unsigned Count = (OC[Offset] & 0x3);
274 SW.startLine() << format("0x%02x ; %s ", OC[Offset],
283 bool Decoder::opcode_11011Lxx(const uint8_t *OC, unsigned &Offset,
285 unsigned Link = (OC[Offset] & 0x4) >> 2;
286 unsigned Count = (OC[Offset] & 0x3) + 4;
291 SW.startLine() << format("0x%02x ; %s.w ", OC[Offset],
300 bool Decoder::opcode_11100xxx(const uint8_t *OC, unsigned &Offset,
302 unsigned High = (OC[Offset] & 0x7);
305 SW.startLine() << format("0x%02x ; %s ", OC[Offset],
314 bool Decoder::opcode_111010xx(const uint8_t *OC, unsigned &Offset,
316 uint16_t Imm = ((OC[Offset + 0] & 0x03) << 8) | ((OC[Offset + 1] & 0xff) << 0);
319 OC[Offset + 0], OC[Offset + 1],
327 bool Decoder::opcode_1110110L(const uint8_t *OC, unsigned &Offset,
329 uint8_t GPRMask = ((OC[Offset + 0] & 0x01) << (Prologue ? 14 : 15))
330 | ((OC[Offset + 1] & 0xff) << 0);
332 SW.startLine() << format("0x%02x 0x%02x ; %s ", OC[Offset + 0],
333 OC[Offset + 1], Prologue ? "push" : "pop");
341 bool Decoder::opcode_11101110(const uint8_t *OC, unsigned &Offset,
345 if (OC[Offset + 1] & 0xf0)
347 OC[Offset + 0], OC[Offset + 1]);
351 OC[Offset + 0], OC[Offset + 1], OC[Offset + 1] & 0x0f);
357 bool Decoder::opcode_11101111(const uint8_t *OC, unsigned &Offset,
361 if (OC[Offset + 1] & 0xf0)
363 OC[Offset + 0], OC[Offset + 1]);
367 OC[Offset + 0], OC[Offset + 1], OC[Offset + 1] << 2);
373 bool Decoder::opcode_11110101(const uint8_t *OC, unsigned &Offset,
375 unsigned Start = (OC[Offset + 1] & 0xf0) >> 4;
376 unsigned End = (OC[Offset + 1] & 0x0f) >> 0;
379 SW.startLine() << format("0x%02x 0x%02x ; %s ", OC[Offset + 0],
380 OC[Offset + 1], Prologue ? "vpush" : "vpop");
388 bool Decoder::opcode_11110110(const uint8_t *OC, unsigned &Offset,
390 unsigned Start = (OC[Offset + 1] & 0xf0) >> 4;
391 unsigned End = (OC[Offset + 1] & 0x0f) >> 0;
394 SW.startLine() << format("0x%02x 0x%02x ; %s ", OC[Offset + 0],
395 OC[Offset + 1], Prologue ? "vpush" : "vpop");
403 bool Decoder::opcode_11110111(const uint8_t *OC, unsigned &Offset,
405 uint32_t Imm = (OC[Offset + 1] << 8) | (OC[Offset + 2] << 0);
408 OC[Offset + 0], OC[Offset + 1], OC[Offset + 2],
416 bool Decoder::opcode_11111000(const uint8_t *OC, unsigned &Offset,
418 uint32_t Imm = (OC[Offset + 1] << 16)
419 | (OC[Offset + 2] << 8)
420 | (OC[Offset + 3] << 0);
424 OC[Offset + 0], OC[Offset + 1], OC[Offset + 2], OC[Offset + 3],
431 bool Decoder::opcode_11111001(const uint8_t *OC, unsigned &Offset,
433 uint32_t Imm = (OC[Offset + 1] << 8) | (OC[Offset + 2] << 0);
437 OC[Offset + 0], OC[Offset + 1], OC[Offset + 2],
444 bool Decoder::opcode_11111010(const uint8_t *OC, unsigned &Offset,
446 uint32_t Imm = (OC[Offset + 1] << 16)
447 | (OC[Offset + 2] << 8)
448 | (OC[Offset + 3] << 0);
452 OC[Offset + 0], OC[Offset + 1], OC[Offset + 2], OC[Offset + 3],
459 bool Decoder::opcode_11111011(const uint8_t *OC, unsigned &Offset,
461 SW.startLine() << format("0x%02x ; nop\n", OC[Offset]);
466 bool Decoder::opcode_11111100(const uint8_t *OC, unsigned &Offset,
468 SW.startLine() << format("0x%02x ; nop.w\n", OC[Offset]);
473 bool Decoder::opcode_11111101(const uint8_t *OC, unsigned &Offset,
475 SW.startLine() << format("0x%02x ; b\n", OC[Offset]);
480 bool Decoder::opcode_11111110(const uint8_t *OC, unsigned &Offset,
482 SW.startLine() << format("0x%02x ; b.w\n", OC[Offset]);
487 bool Decoder::opcode_11111111(const uint8_t *OC, unsigned &Offset,