MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / get_sme_tile

Function get_sme_tile

arch/arm64/disassembler/format.c:416–441  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

414}
415
416uint32_t get_sme_tile(const InstructionOperand *operand, char *outBuffer, uint32_t outBufferSize)
417{
418 char base_offset[32] = {'\0'};
419 if(operand->reg[0] != REG_NONE) {
420 if(operand->arrSpec == ARRSPEC_FULL)
421 snprintf(base_offset, sizeof(base_offset), "[%s]", get_register_name(operand->reg[0]));
422 else
423 snprintf(base_offset, sizeof(base_offset), "[%s, #%" PRIu64 "]", get_register_name(operand->reg[0]), operand->immediate);
424 }
425
426 char *slice = "";
427 if(operand->slice == SLICE_HORIZONTAL)
428 slice = "H";
429 else if(operand->slice == SLICE_VERTICAL)
430 slice = "V";
431
432 if(snprintf(outBuffer, outBufferSize, "Z%d%s%s%s",
433 operand->tile,
434 slice,
435 get_arrspec_str_truncated(operand->arrSpec),
436 base_offset
437 ) >= outBufferSize)
438 return FAILED_TO_DISASSEMBLE_OPERAND;
439
440 return DISASM_SUCCESS;
441}
442
443uint32_t get_indexed_element(const InstructionOperand *operand, char *outBuffer, uint32_t outBufferSize)
444{

Callers 1

aarch64_disassembleFunction · 0.85

Calls 2

get_register_nameFunction · 0.70

Tested by

no test coverage detected