Lines Matching refs:qualifier
217 order of operand qualifier enumerators. */
219 /* Given VALUE, return qualifier for a general purpose register. */
223 enum aarch64_opnd_qualifier qualifier = AARCH64_OPND_QLF_W + value;
225 && aarch64_get_qualifier_standard_value (qualifier) == value)
226 return qualifier;
230 /* Given VALUE, return qualifier for a vector register. This does not support
236 enum aarch64_opnd_qualifier qualifier = AARCH64_OPND_QLF_V_8B + value;
239 the 2H qualifier. */
240 if (qualifier >= AARCH64_OPND_QLF_V_2H)
241 qualifier += 1;
244 && aarch64_get_qualifier_standard_value (qualifier) == value)
245 return qualifier;
249 /* Given VALUE, return qualifier for an FP or AdvSIMD scalar register. */
253 enum aarch64_opnd_qualifier qualifier = AARCH64_OPND_QLF_S_B + value;
256 && aarch64_get_qualifier_standard_value (qualifier) == value)
257 return qualifier;
262 decoding and our caller wants to know the expected qualifier for operand
263 I. Return such a qualifier if we can establish it; otherwise return
270 /* Should not be called if the qualifier is known. */
271 if (inst->operands[i].qualifier == AARCH64_OPND_QLF_NIL)
365 /* Depend on AARCH64_OPND_Ed to determine the qualifier. */
366 info->qualifier = get_expected_qualifier (inst, info->idx);
367 if (info->qualifier == AARCH64_OPND_QLF_ERR)
369 shift = get_logsz (aarch64_get_qualifier_esize (info->qualifier));
387 info->qualifier = get_sreg_qualifier_from_value (pos);
388 if (info->qualifier == AARCH64_OPND_QLF_ERR)
396 info->qualifier = get_expected_qualifier (inst, info->idx);
397 if (info->qualifier == AARCH64_OPND_QLF_ERR)
399 switch (info->qualifier)
428 info->qualifier = get_expected_qualifier (inst, info->idx);
429 if (info->qualifier == AARCH64_OPND_QLF_ERR)
431 switch (info->qualifier)
469 && info->qualifier != AARCH64_OPND_QLF_S_H)
605 info->qualifier = AARCH64_OPND_QLF_S_B;
613 info->qualifier = AARCH64_OPND_QLF_S_H;
623 info->qualifier = AARCH64_OPND_QLF_S_S;
632 info->qualifier = AARCH64_OPND_QLF_S_D;
692 info->qualifier =
694 if (info->qualifier == AARCH64_OPND_QLF_ERR)
699 info->qualifier = get_sreg_qualifier_from_value (pos);
700 if (info->qualifier == AARCH64_OPND_QLF_ERR)
802 enum aarch64_opnd_qualifier opnd0_qualifier = inst->operands[0].qualifier;
828 info->qualifier = get_expected_qualifier (inst, info->idx);
829 if (info->qualifier == AARCH64_OPND_QLF_ERR)
831 switch (info->qualifier)
1018 esize = aarch64_get_qualifier_esize (inst->operands[0].qualifier);
1055 enum aarch64_opnd_qualifier qualifier;
1058 case 0: qualifier = AARCH64_OPND_QLF_S_S; break;
1059 case 1: qualifier = AARCH64_OPND_QLF_S_D; break;
1060 case 2: qualifier = AARCH64_OPND_QLF_S_Q; break;
1063 info->qualifier = qualifier;
1071 info->qualifier = get_sreg_qualifier_from_value (value);
1072 if (info->qualifier == AARCH64_OPND_QLF_ERR)
1145 info->qualifier = get_expected_qualifier (inst, info->idx);
1146 if (info->qualifier == AARCH64_OPND_QLF_ERR)
1166 info->qualifier = get_expected_qualifier (inst, info->idx);
1167 if (info->qualifier == AARCH64_OPND_QLF_ERR)
1217 info->qualifier = get_expected_qualifier (inst, info->idx);
1218 if (info->qualifier == AARCH64_OPND_QLF_ERR)
1222 size = aarch64_get_qualifier_esize (info->qualifier);
1237 info->qualifier = get_expected_qualifier (inst, info->idx);
1238 if (info->qualifier == AARCH64_OPND_QLF_ERR)
1247 || info->qualifier == AARCH64_OPND_QLF_imm_tag)
1249 info->addr.offset.imm *= aarch64_get_qualifier_esize (info->qualifier);
1250 /* qualifier */
1277 info->qualifier = get_expected_qualifier (inst, info->idx);
1278 if (info->qualifier == AARCH64_OPND_QLF_ERR)
1280 shift = get_logsz (aarch64_get_qualifier_esize (info->qualifier));
1297 info->qualifier = get_expected_qualifier (inst, info->idx);
1298 if (info->qualifier == AARCH64_OPND_QLF_ERR)
1334 * aarch64_get_qualifier_esize (inst->operands[0].qualifier);
1337 * aarch64_get_qualifier_esize (inst->operands[0].qualifier)
1338 * aarch64_get_qualifier_nelem (inst->operands[0].qualifier);
1556 /* Assume inst->operands[0].qualifier has been resolved. */
1557 assert (inst->operands[0].qualifier != AARCH64_OPND_QLF_NIL);
1558 info->qualifier = AARCH64_OPND_QLF_W;
1559 if (inst->operands[0].qualifier == AARCH64_OPND_QLF_X
1562 info->qualifier = AARCH64_OPND_QLF_X;
1977 info->qualifier = AARCH64_OPND_QLF_S_B;
1982 info->qualifier = AARCH64_OPND_QLF_S_H;
1987 info->qualifier = AARCH64_OPND_QLF_S_S;
1992 info->qualifier = AARCH64_OPND_QLF_S_D;
1997 info->qualifier = AARCH64_OPND_QLF_S_Q;
2010 /* Decode ZA tile vector, vector indicator, vector selector, qualifier and
2024 /* Deduce qualifier encoded in size and Q fields. */
2066 int ebytes = aarch64_get_qualifier_esize (info->qualifier);
2143 switch (info->qualifier)
2182 switch (info->qualifier)
2307 int esize = aarch64_get_qualifier_esize (inst->operands[0].qualifier);
2483 This function tries to deduce the qualifier from the value of partially
2486 operand encoding), the function returns the matching qualifier or
2513 /* Given a list of qualifier sequences, return all possible valid qualifiers
2530 whether the qualifier is valid for this opcode or not, it is the
2537 enum aarch64_opnd_qualifier qualifier;
2558 /* The index of the operand we are going to tag a qualifier and the qualifer
2560 possible valid qualifier lists. */
2568 inst->operands[idx].qualifier = get_vreg_qualifier_from_value (value);
2569 if (inst->operands[idx].qualifier == AARCH64_OPND_QLF_ERR)
2582 DEBUG_TRACE ("qualifier %d: %s", i,
2588 qualifier = get_qualifier_from_partial_encoding (value, candidates, mask);
2590 if (qualifier == AARCH64_OPND_QLF_NIL)
2593 inst->operands[idx].qualifier = qualifier;
2605 enum aarch64_opnd_qualifier qualifier;
2609 qualifier = value == 0 ? AARCH64_OPND_QLF_V_4S
2616 inst->operands[1].qualifier = qualifier;
2621 inst->operands[0].qualifier = qualifier;
2640 inst->operands[0].qualifier = AARCH64_OPND_QLF_S_S;
2648 enum aarch64_opnd_qualifier qualifier;
2656 case 0: qualifier = AARCH64_OPND_QLF_S_S; break;
2657 case 1: qualifier = AARCH64_OPND_QLF_S_D; break;
2658 case 3: qualifier = AARCH64_OPND_QLF_S_H; break;
2661 inst->operands[0].qualifier = qualifier;
2756 inst->operands[idx].qualifier = AARCH64_OPND_QLF_S_S;
2758 inst->operands[idx].qualifier = AARCH64_OPND_QLF_S_D;
2761 inst->operands[idx].qualifier = get_greg_qualifier_from_value (value);
2762 if (inst->operands[idx].qualifier == AARCH64_OPND_QLF_ERR)
2773 inst->operands[idx].qualifier = get_greg_qualifier_from_value (value);
2774 if (inst->operands[idx].qualifier == AARCH64_OPND_QLF_ERR)
2788 inst->operands[i].qualifier = get_greg_qualifier_from_value (value & 1);
2789 if (inst->operands[i].qualifier == AARCH64_OPND_QLF_ERR)
2796 inst->operands[i].qualifier = get_sreg_qualifier_from_value (value);
2797 if (inst->operands[i].qualifier == AARCH64_OPND_QLF_ERR)
2813 case 0: inst->operands[idx].qualifier = AARCH64_OPND_QLF_S_S; break;
2814 case 1: inst->operands[idx].qualifier = AARCH64_OPND_QLF_S_D; break;
2815 case 3: inst->operands[idx].qualifier = AARCH64_OPND_QLF_S_H; break;
2833 inst->operands[idx].qualifier = get_sreg_qualifier_from_value (value);
2834 if (inst->operands[idx].qualifier == AARCH64_OPND_QLF_ERR)
2841 inst->operands[idx].qualifier
2857 inst->operands[i].qualifier = get_sreg_qualifier_from_value (value);
2858 if (inst->operands[i].qualifier == AARCH64_OPND_QLF_ERR)
2886 inst->operands[0].qualifier =
2888 if (inst->operands[0].qualifier == AARCH64_OPND_QLF_ERR)
2898 inst->operands[0].qualifier
2900 if (inst->operands[0].qualifier == AARCH64_OPND_QLF_ERR)
2902 inst->operands[2].qualifier = get_sreg_qualifier_from_value (size);
2903 if (inst->operands[2].qualifier == AARCH64_OPND_QLF_ERR)
2922 inst->operands[idx].qualifier = get_greg_qualifier_from_value (value);
2923 if (inst->operands[idx].qualifier == AARCH64_OPND_QLF_ERR)
2934 inst->operands[0].qualifier
2986 val = inst->operands[2].qualifier == AARCH64_OPND_QLF_imm_0_31 ? 31 : 63;
3050 val = inst->operands[2].qualifier == AARCH64_OPND_QLF_imm_0_31 ? 32 : 64;
3080 val = inst->operands[2].qualifier == AARCH64_OPND_QLF_imm_0_31 ? 32 : 64;
3115 = inst->operands[2].qualifier == AARCH64_OPND_QLF_imm_0_31 ? 31 : 63;
3191 int is32 = inst->operands[0].qualifier == AARCH64_OPND_QLF_W;
3221 is32 = inst->operands[0].qualifier == AARCH64_OPND_QLF_W;
3679 inst->operands[i].qualifier = inst->opcode->qualifiers_list[variant][i];
3731 qualifier. */
3805 inst->operands[0].qualifier = AARCH64_OPND_QLF_W;