Lines Matching refs:opnd

677 dump_match_qualifiers (const struct aarch64_opnd_info *opnd,  in dump_match_qualifiers()  argument
685 curr[i] = opnd[i].qualifier; in dump_match_qualifiers()
1250 const aarch64_opnd_info *opnd = opnds + idx; in operand_general_constraint_met_p() local
1251 aarch64_opnd_qualifier_t qualifier = opnd->qualifier; in operand_general_constraint_met_p()
1253 assert (opcode->operands[idx] == opnd->type && opnd->type == type); in operand_general_constraint_met_p()
1297 if (!aarch64_stack_pointer_p (opnd)) in operand_general_constraint_met_p()
1327 if (opnd->addr.writeback == 1) in operand_general_constraint_met_p()
1338 if (opnd->addr.writeback == 0) in operand_general_constraint_met_p()
1346 assert (opnd->addr.writeback == 0); in operand_general_constraint_met_p()
1356 size = aarch64_get_qualifier_esize (opnd->qualifier); in operand_general_constraint_met_p()
1357 if (!value_in_range_p (opnd->addr.offset.imm, -64 * size, 63 * size)) in operand_general_constraint_met_p()
1363 if (!value_aligned_p (opnd->addr.offset.imm, size)) in operand_general_constraint_met_p()
1371 if (!value_in_range_p (opnd->addr.offset.imm, -256, 255)) in operand_general_constraint_met_p()
1382 if ((value_in_range_p (opnd->addr.offset.imm, 0, 255) in operand_general_constraint_met_p()
1383 && !value_aligned_p (opnd->addr.offset.imm, size)) in operand_general_constraint_met_p()
1384 || value_in_range_p (opnd->addr.offset.imm, -256, -1)) in operand_general_constraint_met_p()
1393 if (opnd->addr.offset.is_reg) in operand_general_constraint_met_p()
1395 if (value_in_range_p (opnd->addr.offset.regno, 0, 30)) in operand_general_constraint_met_p()
1419 if ((int) num_bytes != opnd->addr.offset.imm) in operand_general_constraint_met_p()
1432 size = aarch64_get_qualifier_esize (opnd->qualifier); in operand_general_constraint_met_p()
1434 if (opnd->shifter.amount != 0 in operand_general_constraint_met_p()
1435 && opnd->shifter.amount != (int)get_logsz (size)) in operand_general_constraint_met_p()
1443 switch (opnd->shifter.kind) in operand_general_constraint_met_p()
1457 imm = opnd->addr.offset.imm; in operand_general_constraint_met_p()
1462 if (!value_in_range_p (opnd->addr.offset.imm, 0, 4095 * size)) in operand_general_constraint_met_p()
1468 if (!value_aligned_p (opnd->addr.offset.imm, size)) in operand_general_constraint_met_p()
1479 imm = opnd->imm.value; in operand_general_constraint_met_p()
1517 if (num != 1 && opnd->reglist.num_regs != num) in operand_general_constraint_met_p()
1528 if (opnd->reglist.num_regs != num) in operand_general_constraint_met_p()
1541 imm = opnd->imm.value; in operand_general_constraint_met_p()
1556 if (opnd->shifter.kind != AARCH64_MOD_LSL) in operand_general_constraint_met_p()
1562 if (opnd->shifter.amount != 0 && opnd->shifter.amount != 12) in operand_general_constraint_met_p()
1568 if (!value_fit_unsigned_field_p (opnd->imm.value, 12)) in operand_general_constraint_met_p()
1578 if (opnd->shifter.kind != AARCH64_MOD_LSL) in operand_general_constraint_met_p()
1585 if (!value_aligned_p (opnd->shifter.amount, 16)) in operand_general_constraint_met_p()
1591 if (!value_in_range_p (opnd->shifter.amount, 0, size * 8 - 16)) in operand_general_constraint_met_p()
1597 if (opnd->imm.value < 0) in operand_general_constraint_met_p()
1603 if (!value_fit_unsigned_field_p (opnd->imm.value, 16)) in operand_general_constraint_met_p()
1614 imm = opnd->imm.value; in operand_general_constraint_met_p()
1653 if (!value_fit_unsigned_field_p (opnd->imm.value, size)) in operand_general_constraint_met_p()
1665 if (opnd->imm.value + opnds[idx-1].imm.value > size) in operand_general_constraint_met_p()
1677 uint64_t uimm = opnd->imm.value; in operand_general_constraint_met_p()
1691 if (opnd->imm.value != 0) in operand_general_constraint_met_p()
1702 if (opnd->imm.value != size) in operand_general_constraint_met_p()
1712 if (!value_in_range_p (opnd->imm.value, 0, size * 8 - 1)) in operand_general_constraint_met_p()
1722 if (!value_in_range_p (opnd->imm.value, 1, size * 8)) in operand_general_constraint_met_p()
1735 if (opnd->shifter.kind != AARCH64_MOD_LSL) in operand_general_constraint_met_p()
1743 if (opnd->shifter.kind != AARCH64_MOD_MSL) in operand_general_constraint_met_p()
1751 if (opnd->shifter.kind != AARCH64_MOD_NONE) in operand_general_constraint_met_p()
1767 if (!value_in_range_p (opnd->imm.value, -128, 255)) in operand_general_constraint_met_p()
1773 else if (aarch64_shrink_expanded_imm8 (opnd->imm.value) < 0) in operand_general_constraint_met_p()
1783 switch (opnd->shifter.kind) in operand_general_constraint_met_p()
1787 if (!value_in_range_p (opnd->shifter.amount, 0, (size - 1) * 8)) in operand_general_constraint_met_p()
1793 if (!value_aligned_p (opnd->shifter.amount, 8)) in operand_general_constraint_met_p()
1801 if (opnd->shifter.amount != 8 && opnd->shifter.amount != 16) in operand_general_constraint_met_p()
1809 if (opnd->shifter.kind != AARCH64_MOD_NONE) in operand_general_constraint_met_p()
1821 if (opnd->imm.is_fp == 0) in operand_general_constraint_met_p()
1831 if (!value_in_range_p (opnd->imm.value, 0, 255)) in operand_general_constraint_met_p()
1837 if (opnd->shifter.kind != AARCH64_MOD_NONE) in operand_general_constraint_met_p()
1853 if (opnd->reg.regno > 15) in operand_general_constraint_met_p()
1870 if (opnd->pstatefield == 0x05 /* spsel */ && opnds[1].imm.value > 1) in operand_general_constraint_met_p()
1885 if (!value_in_range_p (opnd->reglane.index, 0, num)) in operand_general_constraint_met_p()
1899 && !value_in_range_p (opnd->reglane.regno, 0, 15)) in operand_general_constraint_met_p()
1911 if (aarch64_extend_operator_p (opnd->shifter.kind) == FALSE in operand_general_constraint_met_p()
1912 && opnd->shifter.kind != AARCH64_MOD_LSL) in operand_general_constraint_met_p()
1925 if (!opnd->shifter.operator_present) in operand_general_constraint_met_p()
1931 else if (opnd->shifter.kind == AARCH64_MOD_LSL) in operand_general_constraint_met_p()
1938 assert (opnd->shifter.operator_present /* Default to LSL. */ in operand_general_constraint_met_p()
1939 || opnd->shifter.kind == AARCH64_MOD_LSL); in operand_general_constraint_met_p()
1940 if (!value_in_range_p (opnd->shifter.amount, 0, 4)) in operand_general_constraint_met_p()
1951 && opnd->shifter.kind != AARCH64_MOD_LSL in operand_general_constraint_met_p()
1952 && opnd->shifter.kind != AARCH64_MOD_UXTX in operand_general_constraint_met_p()
1953 && opnd->shifter.kind != AARCH64_MOD_SXTX) in operand_general_constraint_met_p()
1963 if (aarch64_shift_operator_p (opnd->shifter.kind) == FALSE) in operand_general_constraint_met_p()
1969 if (opnd->shifter.kind == AARCH64_MOD_ROR in operand_general_constraint_met_p()
1977 if (!value_in_range_p (opnd->shifter.amount, 0, num)) in operand_general_constraint_met_p()
2207 print_register_list (char *buf, size_t size, const aarch64_opnd_info *opnd) in print_register_list() argument
2209 const int num_regs = opnd->reglist.num_regs; in print_register_list()
2210 const int first_reg = opnd->reglist.first_regno; in print_register_list()
2212 const char *qlf_name = aarch64_get_qualifier_name (opnd->qualifier); in print_register_list()
2215 assert (opnd->type != AARCH64_OPND_LEt || opnd->reglist.has_index); in print_register_list()
2219 if (opnd->reglist.has_index) in print_register_list()
2220 snprintf (tb, 8, "[%d]", opnd->reglist.index); in print_register_list()
2263 const aarch64_opnd_info *opnd) in print_register_offset_address() argument
2271 const char *shift_name = aarch64_operand_modifiers[opnd->shifter.kind].name; in print_register_offset_address()
2273 switch (opnd->shifter.kind) in print_register_offset_address()
2282 if (!opnd->shifter.amount && (opnd->qualifier != AARCH64_OPND_QLF_S_B in print_register_offset_address()
2283 || !opnd->shifter.amount_present)) in print_register_offset_address()
2298 snprintf (tb, tblen, ",%s #%d", shift_name, opnd->shifter.amount); in print_register_offset_address()
2306 get_64bit_int_reg_name (opnd->addr.base_regno, 1), in print_register_offset_address()
2307 get_int_reg_name (opnd->addr.offset.regno, in print_register_offset_address()
2332 const aarch64_opnd_info *opnd = opnds + idx; in aarch64_print_operand() local
2340 switch (opnd->type) in aarch64_print_operand()
2354 if (opnd->type == AARCH64_OPND_Rt_SYS && !opnd->present) in aarch64_print_operand()
2358 && opnd->reg.regno == get_optional_operand_default_value (opcode)) in aarch64_print_operand()
2360 assert (opnd->qualifier == AARCH64_OPND_QLF_W in aarch64_print_operand()
2361 || opnd->qualifier == AARCH64_OPND_QLF_X); in aarch64_print_operand()
2363 get_int_reg_name (opnd->reg.regno, opnd->qualifier, 0)); in aarch64_print_operand()
2368 assert (opnd->qualifier == AARCH64_OPND_QLF_W in aarch64_print_operand()
2369 || opnd->qualifier == AARCH64_OPND_QLF_WSP in aarch64_print_operand()
2370 || opnd->qualifier == AARCH64_OPND_QLF_X in aarch64_print_operand()
2371 || opnd->qualifier == AARCH64_OPND_QLF_SP); in aarch64_print_operand()
2373 get_int_reg_name (opnd->reg.regno, opnd->qualifier, 1)); in aarch64_print_operand()
2377 kind = opnd->shifter.kind; in aarch64_print_operand()
2381 && ((opnd->qualifier == AARCH64_OPND_QLF_W in aarch64_print_operand()
2384 || (opnd->qualifier == AARCH64_OPND_QLF_X in aarch64_print_operand()
2389 if (opnd->shifter.amount == 0) in aarch64_print_operand()
2393 get_int_reg_name (opnd->reg.regno, opnd->qualifier, 0)); in aarch64_print_operand()
2397 if (opnd->shifter.amount) in aarch64_print_operand()
2399 get_int_reg_name (opnd->reg.regno, opnd->qualifier, 0), in aarch64_print_operand()
2401 opnd->shifter.amount); in aarch64_print_operand()
2404 get_int_reg_name (opnd->reg.regno, opnd->qualifier, 0), in aarch64_print_operand()
2409 assert (opnd->qualifier == AARCH64_OPND_QLF_W in aarch64_print_operand()
2410 || opnd->qualifier == AARCH64_OPND_QLF_X); in aarch64_print_operand()
2411 if (opnd->shifter.amount == 0 && opnd->shifter.kind == AARCH64_MOD_LSL) in aarch64_print_operand()
2413 get_int_reg_name (opnd->reg.regno, opnd->qualifier, 0)); in aarch64_print_operand()
2416 get_int_reg_name (opnd->reg.regno, opnd->qualifier, 0), in aarch64_print_operand()
2417 aarch64_operand_modifiers[opnd->shifter.kind].name, in aarch64_print_operand()
2418 opnd->shifter.amount); in aarch64_print_operand()
2430 snprintf (buf, size, "%s%d", aarch64_get_qualifier_name (opnd->qualifier), in aarch64_print_operand()
2431 opnd->reg.regno); in aarch64_print_operand()
2437 snprintf (buf, size, "v%d.%s", opnd->reg.regno, in aarch64_print_operand()
2438 aarch64_get_qualifier_name (opnd->qualifier)); in aarch64_print_operand()
2444 snprintf (buf, size, "v%d.%s[%d]", opnd->reglane.regno, in aarch64_print_operand()
2445 aarch64_get_qualifier_name (opnd->qualifier), in aarch64_print_operand()
2446 opnd->reglane.index); in aarch64_print_operand()
2451 snprintf (buf, size, "v%d.d[1]", opnd->reg.regno); in aarch64_print_operand()
2458 print_register_list (buf, size, opnd); in aarch64_print_operand()
2463 snprintf (buf, size, "C%d", opnd->reg.regno); in aarch64_print_operand()
2479 snprintf (buf, size, "#%" PRIi64, opnd->imm.value); in aarch64_print_operand()
2487 int imm32 = opnd->imm.value; in aarch64_print_operand()
2493 opnd->imm.value, opnd->imm.value); in aarch64_print_operand()
2506 if (opnd->shifter.amount) in aarch64_print_operand()
2507 snprintf (buf, size, "#0x%" PRIx64 ", lsl #%d", opnd->imm.value, in aarch64_print_operand()
2508 opnd->shifter.amount); in aarch64_print_operand()
2510 snprintf (buf, size, "#0x%" PRIx64, opnd->imm.value); in aarch64_print_operand()
2515 if ((! opnd->shifter.amount && opnd->shifter.kind == AARCH64_MOD_LSL) in aarch64_print_operand()
2516 || opnd->shifter.kind == AARCH64_MOD_NONE) in aarch64_print_operand()
2517 snprintf (buf, size, "#0x%" PRIx64, opnd->imm.value); in aarch64_print_operand()
2519 snprintf (buf, size, "#0x%" PRIx64 ", %s #%d", opnd->imm.value, in aarch64_print_operand()
2520 aarch64_operand_modifiers[opnd->shifter.kind].name, in aarch64_print_operand()
2521 opnd->shifter.amount); in aarch64_print_operand()
2531 c.i = expand_fp_imm (0, opnd->imm.value); in aarch64_print_operand()
2538 c.i = expand_fp_imm (1, opnd->imm.value); in aarch64_print_operand()
2552 && (opnd->imm.value == in aarch64_print_operand()
2556 snprintf (buf, size, "#0x%x", (unsigned int)opnd->imm.value); in aarch64_print_operand()
2561 snprintf (buf, size, "%s", opnd->cond->names[0]); in aarch64_print_operand()
2566 + opnd->imm.value; in aarch64_print_operand()
2582 addr = pc + AARCH64_PCREL_OFFSET + opnd->imm.value; in aarch64_print_operand()
2597 name = get_64bit_int_reg_name (opnd->addr.base_regno, 1); in aarch64_print_operand()
2598 if (opnd->type == AARCH64_OPND_SIMD_ADDR_POST) in aarch64_print_operand()
2600 if (opnd->addr.offset.is_reg) in aarch64_print_operand()
2601 snprintf (buf, size, "[%s], x%d", name, opnd->addr.offset.regno); in aarch64_print_operand()
2603 snprintf (buf, size, "[%s], #%d", name, opnd->addr.offset.imm); in aarch64_print_operand()
2610 print_register_offset_address (buf, size, opnd); in aarch64_print_operand()
2616 name = get_64bit_int_reg_name (opnd->addr.base_regno, 1); in aarch64_print_operand()
2617 if (opnd->addr.writeback) in aarch64_print_operand()
2619 if (opnd->addr.preind) in aarch64_print_operand()
2620 snprintf (buf, size, "[%s,#%d]!", name, opnd->addr.offset.imm); in aarch64_print_operand()
2622 snprintf (buf, size, "[%s],#%d", name, opnd->addr.offset.imm); in aarch64_print_operand()
2626 if (opnd->addr.offset.imm) in aarch64_print_operand()
2627 snprintf (buf, size, "[%s,#%d]", name, opnd->addr.offset.imm); in aarch64_print_operand()
2634 name = get_64bit_int_reg_name (opnd->addr.base_regno, 1); in aarch64_print_operand()
2635 if (opnd->addr.offset.imm) in aarch64_print_operand()
2636 snprintf (buf, size, "[%s,#%d]", name, opnd->addr.offset.imm); in aarch64_print_operand()
2643 if (aarch64_sys_regs[i].value == opnd->sysreg in aarch64_print_operand()
2651 unsigned int value = opnd->sysreg; in aarch64_print_operand()
2660 if (aarch64_pstatefields[i].value == opnd->pstatefield) in aarch64_print_operand()
2670 snprintf (buf, size, "%s", opnd->sysins_op->template); in aarch64_print_operand()
2674 snprintf (buf, size, "%s", opnd->barrier->name); in aarch64_print_operand()
2680 || (opnd->barrier->value in aarch64_print_operand()
2682 snprintf (buf, size, "#0x%x", opnd->barrier->value); in aarch64_print_operand()
2686 if (opnd->prfop->name != NULL) in aarch64_print_operand()
2687 snprintf (buf, size, "%s", opnd->prfop->name); in aarch64_print_operand()
2689 snprintf (buf, size, "#0x%02x", opnd->prfop->value); in aarch64_print_operand()