Home | History | Annotate | Download | only in a64

Lines Matching refs:FORMAT

103   Format(instr, mnemonic, form);
150 Format(instr, mnemonic, form);
188 Format(instr, mnemonic, form);
223 Format(instr, mnemonic, form);
234 // The immediate encoded in the instruction is not in the expected format.
235 Format(instr, "unallocated", "(LogicalImmediate)");
266 Format(instr, mnemonic, form);
346 Format(instr, mnemonic, form);
361 Format(instr, mnemonic, form);
376 Format(instr, mnemonic, form);
429 Format(instr, mnemonic, form);
507 Format(instr, mnemonic, form);
528 Format(instr, mnemonic, form);
534 case ADR: Format(instr, "adr", "'Xd, 'AddrPCRelByte"); break;
535 case ADRP: Format(instr, "adrp", "'Xd, 'AddrPCRelPage"); break;
536 default: Format(instr, "unimplemented", "(PCRelAddressing)");
543 case B_cond: Format(instr, "b.'CBrn", "'TImmCond"); break;
566 Format(instr, mnemonic, form);
579 Format(instr, mnemonic, form);
588 #define FORMAT(A, B) \
591 FORMAT(RBIT, "rbit");
592 FORMAT(REV16, "rev16");
593 FORMAT(REV, "rev");
594 FORMAT(CLZ, "clz");
595 FORMAT(CLS, "cls");
596 #undef FORMAT
600 Format(instr, mnemonic, form);
610 #define FORMAT(A, B) \
613 FORMAT
614 FORMAT(SDIV, "sdiv");
615 FORMAT(LSLV, "lsl");
616 FORMAT(LSRV, "lsr");
617 FORMAT(ASRV, "asr");
618 FORMAT(RORV, "ror");
619 #undef FORMAT
630 Format(instr, mnemonic, form);
708 Format(instr, mnemonic, form);
723 Format(instr, mnemonic, form);
740 Format(instr, mnemonic, form);
776 Format(instr, mnemonic, form);
815 Format(instr, mnemonic, form);
829 Format(instr, mnemonic, form);
844 Format(instr, mnemonic, form);
859 Format(instr, mnemonic, form);
901 Format(instr, mnemonic, form);
927 Format(instr, mnemonic, form);
954 Format(instr, mnemonic, form);
968 Format(instr, mnemonic, form);
982 Format(instr, mnemonic, form);
1003 Format(instr, mnemonic, form);
1046 Format(instr, mnemonic, form);
1066 Format(instr, mnemonic, form);
1081 Format(instr, mnemonic, form);
1094 Format(instr, mnemonic, form);
1103 #define FORMAT(A, B) \
1106 FORMAT(FMOV, "fmov");
1107 FORMAT(FABS, "fabs");
1108 FORMAT(FNEG, "fneg");
1109 FORMAT(FSQRT, "fsqrt");
1110 FORMAT(FRINTN, "frintn");
1111 FORMAT(FRINTP, "frintp");
1112 FORMAT(FRINTM, "frintm");
1113 FORMAT(FRINTZ, "frintz");
1114 FORMAT(FRINTA, "frinta");
1115 FORMAT(FRINTX, "frintx");
1116 FORMAT(FRINTI, "frinti");
1117 #undef FORMAT
1126 Format(instr, mnemonic, form);
1135 #define FORMAT(A, B) \
1138 FORMAT(FMUL, "fmul");
1139 FORMAT(FDIV, "fdiv");
1140 FORMAT(FADD, "fadd");
1141 FORMAT(FSUB, "fsub");
1142 FORMAT(FMAX, "fmax");
1143 FORMAT(FMIN, "fmin");
1144 FORMAT(FMAXNM, "fmaxnm");
1145 FORMAT(FMINNM, "fminnm");
1146 FORMAT(FNMUL, "fnmul");
1147 #undef FORMAT
1150 Format(instr, mnemonic, form);
1159 #define FORMAT(A, B) \
1162 FORMAT(FMADD, "fmadd");
1163 FORMAT(FMSUB, "fmsub");
1164 FORMAT(FNMADD, "fnmadd");
1165 FORMAT(FNMSUB, "fnmsub");
1166 #undef FORMAT
1169 Format(instr, mnemonic, form);
1182 Format(instr, mnemonic, form);
1248 Format(instr, mnemonic, form);
1276 Format(instr, mnemonic, form);
1374 Format(instr, mnemonic, form);
1393 Format(instr, mnemonic, form);
1550 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
1557 Format(instr, mnemonic, nfd.Substitute(form));
1634 Format(instr, mnemonic, nfd.Substitute(form));
1703 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
1742 Format(instr, mnemonic, nfd.Substitute(form,
1786 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
1789 Format(instr, mnemonic, nfd.Substitute(form));
1792 Format(instr, mnemonic, nfd.Substitute(form));
1843 Format(instr, mnemonic, nfd.Substitute(form));
1855 Format(instr, mnemonic, nfd.Substitute(form));
1886 Format(instr, mnemonic, nfd.Substitute(form));
1919 Format(instr, mnemonic, nfd.Substitute(form));
2025 Format(instr, mnemonic, nfd.Substitute(form));
2128 Format(instr, mnemonic, nfd.Substitute(form));
2191 Format(instr, mnemonic, nfd.Substitute(form));
2260 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
2276 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
2326 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
2370 Format(instr, mnemonic, nfd.Substitute(
2386 Format(instr, mnemonic, nfd.Substitute(form, nfd.kPlaceholder, nfd.kFormat));
2405 Format
2476 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
2583 Format(instr, mnemonic, nfd.Substitute(form));
2617 Format(instr, mnemonic, nfd.Substitute(re_form));
2635 Format(instr, mnemonic, nfd.Substitute(form));
2640 Format(instr, "unimplemented", "(Unimplemented)");
2645 Format(instr, "unallocated", "(Unallocated)");
2749 void Disassembler::Format(const Instruction* instr, const char* mnemonic,
2750 const char* format) {
2754 if (format != NULL) {
2757 Substitute(instr, format);
2780 const char* format) {
2781 switch (format[0]) {
2785 case 'V': // Vector register, V, vector format.
2792 case 'Q': return SubstituteRegisterField(instr, format);
2793 case 'I': return SubstituteImmediateField(instr, format);
2794 case 'L': return SubstituteLiteralField(instr, format);
2795 case 'N': return SubstituteShiftField(instr, format);
2796 case 'P': return SubstitutePrefetchField(instr, format);
2797 case 'C': return SubstituteConditionField(instr, format);
2798 case 'E': return SubstituteExtendField(instr, format);
2799 case 'A': return SubstitutePCRelAddressField(instr, format);
2800 case 'T': return SubstituteBranchTargetField(instr, format);
2801 case 'O': return SubstituteLSRegOffsetField(instr, format);
2802 case 'M': return SubstituteBarrierField(instr, format);
2803 case 'K': return SubstituteCrField(instr, format);
2804 case 'G': return SubstituteSysOpField(instr, format);
2814 const char* format) {
2815 char reg_prefix = format[0];
2819 switch (format[1]) {
2822 if (format[2] == 'q') {
2830 switch (format[2]) {
2839 int imm = static_cast<int>(strtol(&format[3], &eimm, 10));
2840 field_len += eimm - &format[3];
2842 switch (format[2]) {
2869 if (format[0] == 'V') {
2870 if ((format[2] >= '2') && (format[2] <= '4')) {
2872 reg_num = (reg_num + format[2] - '1') % 32;
2876 if (format[2] == '2') {
2887 if (format[2] == 's') {
2923 (reg_num == kZeroRegCode) && (format[2] == 's')) {
2934 const char* format) {
2935 VIXL_ASSERT(format[0] == 'I');
2937 switch (format[1]) {
2939 if (format[5] == 'L') {
2945 VIXL_ASSERT((format[5] == 'I') || (format[5] == 'N'));
2948 if (format[5] == 'N')
2957 switch (format[2]) {
2971 // format[3] is the scale value. Convert to a number.
2972 int scale = 1 << (format[3] - '0');
2998 if (format[3] == 'F') { // IFPFbits.
3003 format[3] == 'S' ? instr->ImmFP32() : instr->ImmFP64());
3024 return SubstituteBitfieldImmediateField(instr, format);
3036 switch (format[2]) {
3060 switch (format[2]) {
3074 if (strncmp(format, "IVInsIndex", strlen("IVInsIndex")) == 0) {
3081 if (strncmp(format, "IVInsIndex1", strlen("IVInsIndex1")) == 0) {
3084 } else if (strncmp(format, "IVInsIndex2",
3096 AppendToOutput("%d", instr->NEONLSIndex(format[8] - '0'));
3100 if (strncmp(format,
3106 } else if (strncmp(format,
3112 } else if (strncmp(format, "IVMIImm8", strlen("IVMIImm8")) == 0) {
3116 } else if (strncmp(format, "IVMIImm", strlen("IVMIImm")) == 0) {
3126 } else if (strncmp(format, "IVMIShiftAmt1",
3132 } else if (strncmp(format, "IVMIShiftAmt2",
3162 const char* format) {
3163 VIXL_ASSERT((format[0] == 'I') && (format[1] == 'B'));
3167 switch (format[2]) {
3173 if (format[3] == '+') {
3177 VIXL_ASSERT(format[3] == '-');
3183 VIXL_ASSERT((format[3] == '-') && (format[4] == 'r'));
3197 const char* format) {
3198 VIXL_ASSERT(strncmp(format, "LValue", 6) == 0);
3199 USE(format);
3236 const char* format) {
3237 VIXL_ASSERT(format[0] == 'N');
3240 switch (format[1]) {
3261 const char* format) {
3262 VIXL_ASSERT(format[0] == 'C');
3268 switch (format[1]) {
3282 const char* format) {
3283 VIXL_ASSERT((strcmp(format, "AddrPCRelByte") == 0) || // Used by `adr`.
3284 (strcmp(format, "AddrPCRelPage") == 0)); // Used by `adrp`.
3291 if (format[9] == 'P') {
3308 const char* format) {
3309 VIXL_ASSERT(strncmp(format, "TImm", 4) == 0);
3312 switch (format[5]) {
3336 const char* format) {
3337 VIXL_ASSERT(strncmp(format, "Ext", 3) == 0);
3339 USE(format);
3363 const char* format) {
3364 VIXL_ASSERT(strncmp(format, "Offsetreg", 9) == 0);
3367 USE(format);
3392 const char* format) {
3393 VIXL_ASSERT(format[0] == 'P');
3394 USE(format);
3420 const char* format) {
3421 VIXL_ASSERT(format[0] == 'M');
3422 USE(format);
3438 const char* format) {
3439 VIXL_ASSERT(format[0] == 'G');
3441 switch (format[1]) {
3452 const char* format) {
3453 VIXL_ASSERT(format[0] == 'K');
3455 switch (format[1]) {
3471 void Disassembler::AppendToOutput(const char* format, ...) {
3473 va_start(args, format);
3475 format, args);