Lines Matching refs:binary
69 print_instr(FILE* output, const std::vector<uint32_t>& binary, char* instr, unsigned size, in print_instr() argument
75 fprintf(output, " %.8x", binary[pos + i]); in print_instr()
175 print_asm_clrx(Program* program, std::vector<uint32_t>& binary, unsigned exec_size, FILE* output) in print_asm_clrx() argument
193 if (write(fd, &binary[i], 4) == -1) in print_asm_clrx()
235 print_instr(output, binary, prev_instr, pos - prev_pos, prev_pos); in print_asm_clrx()
253 print_instr(output, binary, prev_instr, exec_size - prev_pos, prev_pos); in print_asm_clrx()
271 disasm_instr(amd_gfx_level gfx_level, LLVMDisasmContextRef disasm, uint32_t* binary, in disasm_instr() argument
275 LLVMDisasmInstruction(disasm, (uint8_t*)&binary[pos], (exec_size - pos) * sizeof(uint32_t), in disasm_instr()
278 if (gfx_level >= GFX10 && l == 8 && ((binary[pos] & 0xffff0000) == 0xd7610000) && in disasm_instr()
279 ((binary[pos + 1] & 0x1ff) == 0xff)) { in disasm_instr()
288 (binary[pos] & 0xffff8000) == 0xd1348000) || /* v_add_u32_e64 + clamp */ in disasm_instr()
290 (binary[pos] & 0xffff8000) == 0xd7038000) || /* v_add_u16_e64 + clamp */ in disasm_instr()
292 (binary[pos] & 0xffff8000) == 0xd1268000) || /* v_add_u16_e64 + clamp */ in disasm_instr()
293 (gfx_level >= GFX10 && (binary[pos] & 0xffff8000) == 0xd76d8000) || /* v_add3_u32 + clamp */ in disasm_instr()
294 (gfx_level == GFX9 && (binary[pos] & 0xffff8000) == 0xd1ff8000)) /* v_add3_u32 + clamp */) { in disasm_instr()
296 bool has_literal = gfx_level >= GFX10 && (((binary[pos + 1] & 0x1ff) == 0xff) || in disasm_instr()
297 (((binary[pos + 1] >> 9) & 0x1ff) == 0xff)); in disasm_instr()
299 } else if (gfx_level >= GFX10 && l == 4 && ((binary[pos] & 0xfe0001ff) == 0x020000f9)) { in disasm_instr()
317 } else if (gfx_level == GFX9 && (binary[pos] & 0xfc024000) == 0xc0024000) { in disasm_instr()
325 snprintf(outline + len, outline_size - len, " s%u offset:%s", binary[pos + 1] >> 25, imm); in disasm_instr()
326 } else if (gfx_level >= GFX10 && (binary[pos] & 0xfc000000) == 0xf4000000 && in disasm_instr()
327 (binary[pos + 1] & 0xfe000000) != 0xfa000000) { in disasm_instr()
329 uint32_t offset = binary[pos + 1] & 0x1fffff; in disasm_instr()
341 print_asm_llvm(Program* program, std::vector<uint32_t>& binary, unsigned exec_size, FILE* output) in print_asm_llvm() argument
378 memcmp(&binary[prev_pos], &binary[pos], prev_size * 4) == 0) { in print_asm_llvm()
391 std::pair<bool, size_t> res = disasm_instr(program->gfx_level, disasm, binary.data(), in print_asm_llvm()
395 print_instr(output, binary, outline, res.second, pos); in print_asm_llvm()
445 print_asm(Program* program, std::vector<uint32_t>& binary, unsigned exec_size, FILE* output) in print_asm() argument
449 return print_asm_llvm(program, binary, exec_size, output); in print_asm()
453 return print_asm_clrx(program, binary, exec_size, output); in print_asm()