Lines Matching refs:Format
107 Format(instr, mnemonic, form);
157 Format(instr, mnemonic, form);
200 Format(instr, mnemonic, form);
240 Format(instr, mnemonic, form);
251 // The immediate encoded in the instruction is not in the expected format.
252 Format(instr, "unallocated", "(LogicalImmediate)");
288 Format(instr, mnemonic, form);
379 Format(instr, mnemonic, form);
399 Format(instr, mnemonic, form);
419 Format(instr, mnemonic, form);
475 Format(instr, mnemonic, form);
553 Format(instr, mnemonic, form);
575 Format(instr, mnemonic, form);
582 Format(instr, "adr", "'Xd, 'AddrPCRelByte");
585 Format(instr, "adrp", "'Xd, 'AddrPCRelPage");
588 Format(instr, "unimplemented", "(PCRelAddressing)");
596 Format(instr, "b.'CBrn", "'TImmCond");
626 Format(instr, mnemonic, form);
644 Format(instr, mnemonic, form);
653 #define FORMAT(A, B) \
658 FORMAT(RBIT, "rbit");
659 FORMAT(REV16, "rev16");
660 FORMAT(REV, "rev");
661 FORMAT(CLZ, "clz");
662 FORMAT(CLS, "cls");
663 #undef FORMAT
670 Format(instr, mnemonic, form);
680 #define FORMAT(A, B) \
685 FORMAT(UDIV, "udiv");
686 FORMAT(SDIV, "sdiv");
687 FORMAT(LSLV, "lsl");
688 FORMAT(LSRV, "lsr");
689 FORMAT(ASRV, "asr");
690 FORMAT(RORV, "ror");
691 #undef FORMAT
721 Format(instr, mnemonic, form);
800 Format(instr, mnemonic, form);
820 Format(instr, mnemonic, form);
842 Format(instr, mnemonic, form);
883 Format(instr, mnemonic, form);
925 Format(instr, mnemonic, form);
942 Format(instr, mnemonic, form);
962 Format(instr, mnemonic, form);
982 Format(instr, mnemonic, form);
1087 Format(instr, mnemonic, form);
1124 Format(instr, mnemonic, form);
1154 Format(instr, mnemonic, form);
1171 Format(instr, mnemonic, form);
1188 Format(instr, mnemonic, form);
1240 Format(instr, mnemonic, form);
1380 Format(instr, mnemonic, form);
1409 Format(instr, mnemonic, form);
1429 Format(instr, mnemonic, form);
1445 Format(instr, mnemonic, form);
1454 #define FORMAT(A, B) \
1459 FORMAT(FMOV, "fmov");
1460 FORMAT(FABS, "fabs");
1461 FORMAT(FNEG, "fneg");
1462 FORMAT(FSQRT, "fsqrt");
1463 FORMAT(FRINTN, "frintn");
1464 FORMAT(FRINTP, "frintp");
1465 FORMAT(FRINTM, "frintm");
1466 FORMAT(FRINTZ, "frintz");
1467 FORMAT(FRINTA, "frinta");
1468 FORMAT(FRINTX, "frintx");
1469 FORMAT(FRINTI, "frinti");
1470 #undef FORMAT
1498 Format(instr, mnemonic, form);
1507 #define FORMAT(A, B) \
1512 FORMAT(FMUL, "fmul");
1513 FORMAT(FDIV, "fdiv");
1514 FORMAT(FADD, "fadd");
1515 FORMAT(FSUB, "fsub");
1516 FORMAT(FMAX, "fmax");
1517 FORMAT(FMIN, "fmin");
1518 FORMAT(FMAXNM, "fmaxnm");
1519 FORMAT(FMINNM, "fminnm");
1520 FORMAT(FNMUL, "fnmul");
1521 #undef FORMAT
1525 Format(instr, mnemonic, form);
1534 #define FORMAT(A, B) \
1539 FORMAT(FMADD, "fmadd");
1540 FORMAT(FMSUB, "fmsub");
1541 FORMAT(FNMADD, "fnmadd");
1542 FORMAT(FNMSUB, "fnmsub");
1543 #undef FORMAT
1547 Format(instr, mnemonic, form);
1567 Format(instr, mnemonic, form);
1681 Format(instr, mnemonic, form);
1720 Format(instr, mnemonic, form);
1830 Format(instr, mnemonic, form);
1869 Format(instr, mnemonic, form);
2145 Format(instr, "unallocated", "(NEON2RegMisc)");
2149 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
2156 Format(instr, mnemonic, nfd.Substitute(form));
2249 Format(instr, mnemonic, nfd.Substitute(form));
2355 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
2417 Format(instr,
2512 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
2515 Format(instr, mnemonic, nfd.Substitute(form));
2518 Format(instr, mnemonic, nfd.Substitute(form));
2570 Format(instr, mnemonic, nfd.Substitute(form));
2582 Format(instr, mnemonic, nfd.Substitute(form));
2665 // LD[2-4] and ST[2-4] cannot use .1d format.
2679 Format(instr, mnemonic, nfd.Substitute(form));
2764 // LD[2-4] and ST[2-4] cannot use .1d format.
2778 Format(instr, mnemonic, nfd.Substitute(form));
2944 Format(instr, mnemonic, nfd.Substitute(form));
3104 Format(instr, mnemonic, nfd.Substitute(form));
3170 Format(instr, mnemonic, nfd.Substitute(form));
3319 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
3343 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
3457 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
3510 Format(instr,
3527 Format(instr, mnemonic, nfd.Substitute(form, nfd.kPlaceholder, nfd.kFormat));
3559 Format(instr,
3684 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
3858 Format(instr, mnemonic, nfd.Substitute(form));
3919 Format(instr, mnemonic, nfd.Substitute(re_form));
3950 Format(instr, mnemonic, nfd.Substitute(form));
3955 Format(instr, "unimplemented", "(Unimplemented)");
3960 Format(instr, "unallocated", "(Unallocated)");
4077 void Disassembler::Format(const Instruction *instr,
4079 const char *format) {
4083 if (format != NULL) {
4086 Substitute(instr, format);
4109 const char *format) {
4110 switch (format[0]) {
4114 case 'V': // Vector register, V, vector format.
4122 return SubstituteRegisterField(instr, format);
4124 return SubstituteImmediateField(instr, format);
4126 return SubstituteLiteralField(instr, format);
4128 return SubstituteShiftField(instr, format);
4130 return SubstitutePrefetchField(instr, format);
4132 return SubstituteConditionField(instr, format);
4134 return SubstituteExtendField(instr, format);
4136 return SubstitutePCRelAddressField(instr, format);
4138 return SubstituteBranchTargetField(instr, format);
4140 return SubstituteLSRegOffsetField(instr, format);
4142 return SubstituteBarrierField(instr, format);
4144 return SubstituteCrField(instr, format);
4146 return SubstituteSysOpField(instr, format);
4156 const char *format) {
4157 char reg_prefix = format[0];
4161 switch (format[1]) {
4164 if (format[2] == 'q') {
4174 switch (format[2]) {
4183 int imm = static_cast<int>(strtol(&format[3], &eimm, 10));
4184 field_len += eimm - &format[3];
4186 switch (format[2]) {
4217 if (format[0] == 'V') {
4218 if ((format[2] >= '2') && (format[2] <= '4')) {
4220 reg_num = (reg_num + format[2] - '1') % 32;
4224 if (format[2] == '2') {
4236 if (format[2] == 's') {
4286 (format[2] == 's')) {
4297 const char *format) {
4298 VIXL_ASSERT(format[0] == 'I');
4300 switch (format[1]) {
4302 if (format[5] == 'L') {
4308 VIXL_ASSERT((format[5] == 'I') || (format[5] == 'N'));
4311 if (format[5] == 'N') imm = ~imm;
4318 switch (format[2]) {
4333 // format[3] is the scale value. Convert to a number.
4334 int scale = 1 << (format[3] - '0');
4360 if (format[3] == 'F') { // IFPFbits.
4366 format[3] == 'S' ? instr->GetImmFP32()
4389 return SubstituteBitfieldImmediateField(instr, format);
4402 switch (format[2]) {
4426 switch (format[2]) {
4440 if (strncmp(format, "IVInsIndex", strlen("IVInsIndex")) == 0) {
4448 if (strncmp(format, "IVInsIndex1", strlen("IVInsIndex1")) == 0) {
4451 } else if (strncmp(format,
4463 AppendToOutput("%d", instr->GetNEONLSIndex(format[8] - '0'));
4467 if (strncmp(format, "IVMIImmFPSingle", strlen("IVMIImmFPSingle")) ==
4473 } else if (strncmp(format,
4480 } else if (strncmp(format, "IVMIImm8", strlen("IVMIImm8")) == 0) {
4484 } else if (strncmp(format, "IVMIImm", strlen("IVMIImm")) == 0) {
4494 } else if (strncmp(format,
4501 } else if (strncmp(format,
4532 const char *format) {
4533 VIXL_ASSERT((format[0] == 'I') && (format[1] == 'B'));
4537 switch (format[2]) {
4543 if (format[3] == '+') {
4547 VIXL_ASSERT(format[3] == '-');
4553 VIXL_ASSERT((format[3] == '-') && (format[4] == 'r'));
4568 const char *format) {
4569 VIXL_ASSERT(strncmp(format, "LValue", 6) == 0);
4570 USE(format);
4607 const char *format) {
4608 VIXL_ASSERT(format[0] == 'N');
4611 switch (format[1]) {
4633 const char *format) {
4634 VIXL_ASSERT(format[0] == 'C');
4652 switch (format[1]) {
4669 const char *format) {
4670 VIXL_ASSERT((strcmp(format, "AddrPCRelByte") == 0) || // Used by `adr`.
4671 (strcmp(format, "AddrPCRelPage") == 0)); // Used by `adrp`.
4678 if (format[9] == 'P') {
4695 const char *format) {
4696 VIXL_ASSERT(strncmp(format, "TImm", 4) == 0);
4699 switch (format[5]) {
4732 const char *format) {
4733 VIXL_ASSERT(strncmp(format, "Ext", 3) == 0);
4735 USE(format);
4759 const char *format) {
4760 VIXL_ASSERT(strncmp(format, "Offsetreg", 9) == 0);
4769 USE(format);
4794 const char *format) {
4795 VIXL_ASSERT(format[0] == 'P');
4796 USE(format);
4822 const char *format) {
4823 VIXL_ASSERT(format[0] == 'M');
4824 USE(format);
4838 const char *format) {
4839 VIXL_ASSERT(format[0] == 'G');
4841 switch (format[1]) {
4856 const char *format) {
4857 VIXL_ASSERT(format[0] == 'K');
4859 switch (format[1]) {
4879 void Disassembler::AppendToOutput(const char *format, ...) {
4881 va_start(args, format);
4884 format,