Lines Matching refs:words
441 static void dump_clause(FILE *fp, uint32_t *words, unsigned *size, unsigned offset, bool verbose)
451 for (i = 0; ; i++, words += 4) {
455 fprintf(fp, "%08x ", words[3 - j]); // low bit on the right
458 unsigned tag = bits(words[0], 0, 8);
463 main_instr.add_bits = bits(words[2], 2, 32 - 13);
465 main_instr.fma_bits = bits(words[1], 11, 32) | bits(words[2], 0, 2) << (32 - 11);
467 main_instr.reg_bits = ((uint64_t) bits(words[1], 0, 11)) << 24 | (uint64_t) bits(words[0], 8, 32);
469 uint64_t const0 = bits(words[0], 8, 32) << 4 | (uint64_t) words[1] << 28 | bits(words[2], 0, 4) << 60;
470 uint64_t const1 = bits(words[2], 4, 32) << 4 | (uint64_t) words[3] << 32;
483 instrs[idx].add_bits = bits(words[3], 0, 17) | ((tag & 0x7) << 17);
484 instrs[idx].fma_bits |= bits(words[2], 19, 32) << 10;
485 consts.raw[0] = bits(words[3], 17, 32) << 4;
493 main_instr.add_bits |= bits(words[3], 29, 32) << 17;
500 instrs[2].add_bits = bits(words[3], 0, 17) | bits(words[3], 29, 32) << 17;
501 instrs[2].fma_bits |= bits(words[2], 19, 32) << 10;
503 decode_M(&consts.mods[0], bits(words[2], 4, 8), bits(words[2], 8, 12), true);
511 instrs[2].add_bits = bits(words[3], 0, 17) | bits(words[3], 29, 32) << 17;
512 instrs[2].fma_bits |= bits(words[2], 19, 32) << 10;
513 main_instr.add_bits |= bits(words[3], 26, 29) << 17;
522 instrs[5].add_bits = bits(words[3], 0, 17) | bits(words[3], 29, 32) << 17;
523 instrs[5].fma_bits |= bits(words[2], 19, 32) << 10;
525 decode_M(&consts.mods[0], bits(words[2], 4, 8), bits(words[2], 8, 12), true);
532 instrs[5].add_bits = bits(words[3], 0, 17) | bits(words[3], 29, 32) << 17;
533 instrs[5].fma_bits |= bits(words[2], 19, 32) << 10;
534 main_instr.add_bits |= bits(words[3], 26, 29) << 17;
549 consts.raw[0] |= (bits(words[2], 19, 32) | ((uint64_t) words[3] << 13)) << 19;
560 instrs[idx + 1].fma_bits |= bits(words[3], 22, 32);
561 instrs[idx + 1].reg_bits = bits(words[2], 19, 32) | (bits(words[3], 0, 22) << (32 - 19));
571 header_bits = bits(words[2], 19, 32) | ((uint64_t) words[3] << (32 - 19));
618 unsigned A1 = bits(words[2], 0, 4);
619 unsigned B1 = bits(words[3], 28, 32);
620 unsigned A2 = bits(words[1], 0, 4);
621 unsigned B2 = bits(words[2], 28, 32);
691 uint32_t *words = (uint32_t *) code;
692 uint32_t *words_end = words + (size / 4);
695 while (words != words_end) {
698 if (*words == 0)
704 dump_clause(fp, words, &size, offset, verbose);
706 words += size * 4;