Lines Matching refs:bitset
85 const struct isa_bitset *bitset; member
251 push_scope(struct decode_state *state, const struct isa_bitset *bitset, bitmask_t val) in push_scope() argument
255 BITSET_COPY(scope->val.bitset, val.bitset); in push_scope()
256 scope->bitset = bitset; in push_scope()
322 BITSET_AND(m.bitset, val.bitset, bitsets[n]->mask.bitset); in find_bitset()
324 BITSET_COPY(not_dontcare.bitset, bitsets[n]->dontcare.bitset); in find_bitset()
325 BITSET_NOT(not_dontcare.bitset); in find_bitset()
327 BITSET_AND(m.bitset, m.bitset, not_dontcare.bitset); in find_bitset()
329 if (!BITSET_EQUAL(m.bitset, bitsets[n]->match.bitset)) { in find_bitset()
349 BITSET_AND(m.bitset, match->dontcare.bitset, val.bitset); in find_bitset()
351 if (BITSET_COUNT(m.bitset)) { in find_bitset()
353 match->name, BITSET_VALUE(m.bitset)); in find_bitset()
361 find_field(struct decode_scope *scope, const struct isa_bitset *bitset, in find_field() argument
364 for (unsigned i = 0; i < bitset->num_cases; i++) { in find_field()
365 const struct isa_case *c = bitset->cases[i]; in find_field()
390 if (bitset->parent) { in find_field()
391 const struct isa_field *f = find_field(scope, bitset->parent, name, name_len); in find_field()
405 BITSET_COPY(val.bitset, scope->val.bitset); in extract_field()
406 BITSET_ZERO(mask.bitset); in extract_field()
408 BITSET_SET_RANGE(mask.bitset, field->low, field->high); in extract_field()
409 BITSET_AND(val.bitset, val.bitset, mask.bitset); in extract_field()
410 BITSET_SHR(val.bitset, field->low); in extract_field()
420 find_display(struct decode_scope *scope, const struct isa_bitset *bitset) in find_display() argument
422 for (unsigned i = 0; i < bitset->num_cases; i++) { in find_display()
423 const struct isa_case *c = bitset->cases[i]; in find_display()
435 if (!BITSET_EQUAL(val.bitset, f->val.bitset)) { in find_display()
438 f->low, f->high, bitset->name, in find_display()
439 BITSET_VALUE(val.bitset), BITSET_VALUE(f->val.bitset)); in find_display()
451 if (bitset->parent) { in find_display()
452 return find_display(scope, bitset->parent); in find_display()
467 scope->bitset->name, field->name, BITSET_VALUE(val.bitset)); in display_bitset_field()
503 find_field(scope, scope->bitset, field_name, field_name_len); in resolve_field()
575 .str = scope->bitset->name, in display_field()
582 print(scope->state, "%s", scope->bitset->name); in display_field()
678 const struct isa_bitset *bitset = scope->bitset; in display() local
679 const char *display = find_display(scope, bitset); in display()
682 decode_error(scope->state, "%s: no display template", bitset->name); in display()
730 state->n, instr.bitset); in decode()
736 state->options->instr_cb(state->options->cbdata, state->n, instr.bitset); in decode()
741 print(state, "no match: %"BITSET_FORMAT"\n", BITSET_VALUE(instr.bitset)); in decode()