Home | History | Annotate | Download | only in aarch64

Lines Matching refs:form

9 //   * Redistributions in binary form must reproduce the above copyright notice,
68 const char *form = "'Rds, 'Rns, 'IAddSub";
78 form = form_mov;
87 form = form_cmp;
100 form = form_cmp;
107 Format(instr, mnemonic, form);
115 const char *form = "'Rd, 'Rn, 'Rm'NDP";
129 form = form_cmp;
138 form = form_neg;
147 form = form_cmp;
150 form = form_neg;
157 Format(instr, mnemonic, form);
165 const char *form = ((mode == UXTX) || (mode == SXTX)) ? "'Rds, 'Rns, 'Xm'Ext"
180 form = form_cmp;
193 form = form_cmp;
200 Format(instr, mnemonic, form);
207 const char *form = "'Rd, 'Rn, 'Rm";
224 form = form_neg;
233 form = form_neg;
240 Format(instr, mnemonic, form);
248 const char *form = "'Rds, 'Rn, 'ITri";
268 form = "'Rds, 'ITri";
281 form = "'Rn, 'ITri";
288 Format(instr, mnemonic, form);
324 const char *form = "'Rd, 'Rn, 'Rm'NLo";
352 form = "'Rn, 'Rm'NLo";
362 form = "'Rd, 'Rm";
371 form = "'Rd, 'Rm'NLo";
379 Format(instr, mnemonic, form);
385 const char *form = "'Rn, 'Rm, 'INzcv, 'Cond";
399 Format(instr, mnemonic, form);
405 const char *form = "'Rn, 'IP, 'INzcv, 'Cond";
419 Format(instr, mnemonic, form);
427 const char *form = "'Rd, 'Rn, 'Rm, 'Cond";
444 form = form_test;
447 form = form_update;
456 form = form_test;
459 form = form_update;
468 form = form_update;
475 Format(instr, mnemonic, form);
485 const char *form = "";
496 form = form_bfx;
498 form = form_extend;
506 form = form_bfx;
510 form = form_shift_right;
513 form = form_bfiz;
520 form = form_bfx;
522 form = form_extend;
528 form = form_bfx;
533 form = form_shift_right;
536 form = form_lsl;
539 form = form_bfiz;
546 form = form_bfx;
549 form = form_bfiz;
553 Format(instr, mnemonic, form);
559 const char *form = "'Rd, 'Rn, 'Rm, 'IExtract";
566 form = "'Rd, 'Rn, 'IExtract";
575 Format(instr, mnemonic, form);
607 const char *form = "'Xn";
619 form = NULL;
624 form = "(UnconditionalBranchToRegister)";
626 Format(instr, mnemonic, form);
632 const char *form = "'TImmUncn";
644 Format(instr, mnemonic, form);
650 const char *form = "'Rd, 'Rn";
670 Format(instr, mnemonic, form);
676 const char *form = "'Rd, 'Rn, 'Rm";
703 form = form_wwx;
716 form = form_wwx;
719 form = "(DataProcessing2Source)";
721 Format(instr, mnemonic, form);
728 const char *form = "'Xd, 'Wn, 'Wm, 'Xa";
738 form = form_rrrr;
741 form = form_rrr;
748 form = form_rrrr;
751 form = form_rrr;
759 form = form_xww;
767 form = form_xww;
775 form = form_xww;
783 form = form_xww;
789 form = form_xxx;
794 form = form_xxx;
800 Format(instr, mnemonic, form);
806 const char *form = "'Rt, 'TImmCmpa";
820 Format(instr, mnemonic, form);
828 // encoded in bit 31 of the instruction, we can reuse the Rt form, which
830 const char *form = "'Rt, 'IS, 'TImmTest";
842 Format(instr, mnemonic, form);
848 const char *form = "'Rd, 'IMoveImm";
862 form = "'Rd, 'IMoveNeg";
878 form = "'Rd, 'IMoveLSL";
883 Format(instr, mnemonic, form);
914 const char *form = "(LoadStorePreIndex)";
920 form = C ", ['Xns'ILS]!"; \
925 Format(instr, mnemonic, form);
931 const char *form = "(LoadStorePostIndex)";
937 form = C ", ['Xns]'ILS"; \
942 Format(instr, mnemonic, form);
948 const char *form = "(LoadStoreUnsignedOffset)";
954 form = C ", ['Xns'ILU]"; \
960 form = "'PrefOp, ['Xns'ILU]";
962 Format(instr, mnemonic, form);
968 const char *form = "(LoadStoreRegisterOffset)";
974 form = C ", ['Xns, 'Offsetreg]"; \
980 form = "'PrefOp, ['Xns, 'Offsetreg]";
982 Format(instr, mnemonic, form);
988 const char *form = "'Wt, ['Xns'ILS]";
1009 form = form_x;
1013 form = form_b;
1017 form = form_h;
1021 form = form_s;
1025 form = form_d;
1029 form = form_q;
1042 form = form_x;
1046 form = form_b;
1050 form = form_h;
1054 form = form_s;
1058 form = form_d;
1062 form = form_q;
1065 form = form_x;
1071 form = form_x;
1078 form = form_x;
1082 form = form_prefetch;
1085 form = "(LoadStoreUnscaledOffset)";
1087 Format(instr, mnemonic, form);
1093 const char *form = "(LoadLiteral)";
1097 form = "'Wt, 'ILLiteral 'LValue";
1100 form = "'Xt, 'ILLiteral 'LValue";
1103 form = "'St, 'ILLiteral 'LValue";
1106 form = "'Dt, 'ILLiteral 'LValue";
1109 form = "'Qt, 'ILLiteral 'LValue";
1113 form = "'Xt, 'ILLiteral 'LValue";
1118 form = "'PrefOp, 'ILLiteral 'LValue";
1124 Format(instr, mnemonic, form);
1143 const char *form = "(LoadStorePairPostIndex)";
1149 form = C ", ['Xns]'ILP" D; \
1154 Format(instr, mnemonic, form);
1160 const char *form = "(LoadStorePairPreIndex)";
1166 form = C ", ['Xns'ILP" D "]!"; \
1171 Format(instr, mnemonic, form);
1177 const char *form = "(LoadStorePairOffset)";
1183 form = C ", ['Xns'ILP" D "]"; \
1188 Format(instr, mnemonic, form);
1194 const char *form;
1199 form = "'Wt, 'Wt2, ['Xns'ILP2]";
1203 form = "'Wt, 'Wt2, ['Xns'ILP2]";
1207 form = "'Xt, 'Xt2, ['Xns'ILP3]";
1211 form = "'Xt, 'Xt2, ['Xns'ILP3]";
1215 form = "'St, 'St2, ['Xns'ILP2]";
1219 form = "'St, 'St2, ['Xns'ILP2]";
1223 form = "'Dt, 'Dt2, ['Xns'ILP3]";
1227 form = "'Dt, 'Dt2, ['Xns'ILP3]";
1231 form = "'Qt, 'Qt2, ['Xns'ILP4]";
1235 form = "'Qt, 'Qt2, ['Xns'ILP4]";
1238 form = "(LoadStorePairNonTemporal)";
1240 Format(instr, mnemonic, form);
1246 const char *form;
1251 form = "'Ws, 'Wt, ['Xns]";
1255 form = "'Ws, 'Wt, ['Xns]";
1259 form = "'Ws, 'Wt, ['Xns]";
1263 form = "'Ws, 'Xt, ['Xns]";
1267 form = "'Wt, ['Xns]";
1271 form = "'Wt, ['Xns]";
1275 form = "'Wt, ['Xns]";
1279 form = "'Xt, ['Xns]";
1283 form = "'Ws, 'Wt, 'Wt2, ['Xns]";
1287 form = "'Ws, 'Xt, 'Xt2, ['Xns]";
1291 form = "'Wt, 'Wt2, ['Xns]";
1295 form = "'Xt, 'Xt2, ['Xns]";
1299 form = "'Ws, 'Wt, ['Xns]";
1303 form = "'Ws, 'Wt, ['Xns]";
1307 form = "'Ws, 'Wt, ['Xns]";
1311 form = "'Ws, 'Xt, ['Xns]";
1315 form = "'Wt, ['Xns]";
1319 form = "'Wt, ['Xns]";
1323 form = "'Wt, ['Xns]";
1327 form = "'Xt, ['Xns]";
1331 form = "'Ws, 'Wt, 'Wt2, ['Xns]";
1335 form = "'Ws, 'Xt, 'Xt2, ['Xns]";
1339 form = "'Wt, 'Wt2, ['Xns]";
1343 form = "'Xt, 'Xt2, ['Xns]";
1347 form = "'Wt, ['Xns]";
1351 form = "'Wt, ['Xns]";
1355 form = "'Wt, ['Xns]";
1359 form = "'Xt, ['Xns]";
1363 form = "'Wt, ['Xns]";
1367 form = "'Wt, ['Xns]";
1371 form = "'Wt, ['Xns]";
1375 form = "'Xt, ['Xns]";
1378 form = "(LoadStoreExclusive)";
1380 Format(instr, mnemonic, form);
1386 const char *form = "'Fn, 'Fm";
1392 form = form_zero;
1400 form = form_zero;
1407 form = "(FPCompare)";
1409 Format(instr, mnemonic, form);
1415 const char *form = "'Fn, 'Fm, 'INzcv, 'Cond";
1427 form = "(FPConditionalCompare)";
1429 Format(instr, mnemonic, form);
1435 const char *form = "'Fd, 'Fn, 'Fm, 'Cond";
1445 Format(instr, mnemonic, form);
1451 const char *form = "'Fd, 'Fn";
1473 form = "'Dd, 'Sn";
1477 form = "'Sd, 'Dn";
1481 form = "'Hd, 'Sn";
1485 form = "'Sd, 'Hn";
1489 form = "'Dd, 'Hn";
1493 form = "'Hd, 'Dn";
1496 form = "(FPDataProcessing1Source)";
1498 Format(instr, mnemonic, form);
1504 const char *form = "'Fd, 'Fn, 'Fm";
1525 Format(instr, mnemonic, form);
1531 const char *form = "'Fd, 'Fn, 'Fm, 'Fa";
1547 Format(instr, mnemonic, form);
1553 const char *form = "(FPImmediate)";
1558 form = "'Sd, 'IFPSingle";
1562 form = "'Dd, 'IFPDouble";
1567 Format(instr, mnemonic, form);
1573 const char *form = "(FPIntegerConvert)";
1581 form = form_rf;
1586 form = form_fr;
1590 form = "'Vd.D[1], 'Rn";
1594 form = "'Rd, 'Vn.D[1]";
1601 form = form_rf;
1608 form = form_rf;
1615 form = form_rf;
1622 form = form_rf;
1629 form = form_rf;
1636 form = form_rf;
1643 form = form_rf;
1650 form = form_rf;
1657 form = form_rf;
1664 form = form_rf;
1671 form = form_fr;
1678 form = form_fr;
1681 Format(instr, mnemonic, form);
1687 const char *form = "'Rd, 'Fn, 'IFPFBits";
1708 form = form_fr;
1715 form = form_fr;
1720 Format(instr, mnemonic, form);
1729 const char *form = "(System)";
1735 form = (instr->GetCRm() == 0xf) ? NULL : "'IX";
1745 form = "'Xt, nzcv";
1748 form = "'Xt, fpcr";
1751 form = "'Xt, (unknown)";
1760 form = "nzcv, 'Xt";
1763 form = "fpcr, 'Xt";
1766 form = "(unknown), 'Xt";
1776 form = NULL;
1784 form = "'M";
1789 form = "'M";
1794 form = NULL;
1802 form = "ivau, 'Xt";
1806 form = "cvac, 'Xt";
1810 form = "cvau, 'Xt";
1814 form = "civac, 'Xt";
1818 form = "zva, 'Xt";
1823 form = "'G1, 'Kn, 'Km, 'G2";
1825 form = "'G1, 'Kn, 'Km, 'G2, 'Xt";
1830 Format(instr, mnemonic, form);
1836 const char *form = "'IDebug";
1856 form = "{'IDebug}";
1860 form = "{'IDebug}";
1864 form = "{'IDebug}";
1867 form = "(Exception)";
1869 Format(instr, mnemonic, form);
1890 const char *form = "'Vd.%s, 'Vn.%s";
1955 form = form_cmp_zero;
1959 form = form_cmp_zero;
1963 form = form_cmp_zero;
1967 form = form_cmp_zero;
1971 form = form_cmp_zero;
1988 form = "(NEON2RegMisc)";
2093 form = form_fcmp_zero;
2097 form = form_fcmp_zero;
2101 form = form_fcmp_zero;
2105 form = form_fcmp_zero;
2109 form = form_fcmp_zero;
2136 form = "'Vd.%s, 'Vn.%s, #8";
2139 form = "'Vd.%s, 'Vn.%s, #16";
2142 form = "'Vd.%s, 'Vn.%s, #32";
2149 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
2152 form = "(NEON2RegMisc)";
2156 Format(instr, mnemonic, nfd.Substitute(form));
2162 const char *form = "'Vd.%s, 'Vn.%s, 'Vm.%s";
2174 form = "'Vd.%s, 'Vn.%s";
2196 form = "(NEON3Same)";
2249 Format(instr, mnemonic, nfd.Substitute(form));
2255 const char *form = "'Vd.%s, 'Vn.%s, 'Vm.%s";
2353 form = "(NEON3Different)";
2355 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
2361 const char *form = "%sd, 'Vn.%s";
2384 form = "(NEONAcrossLanes)";
2413 form = "(NEONAcrossLanes)";
2419 nfd.Substitute(form,
2430 const char *form = "'Vd.%s, 'Vn.%s, 'Ve.%s['IVByElemIndex]";
2512 Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form));
2515 Format(instr, mnemonic, nfd.Substitute(form));
2518 Format(instr, mnemonic, nfd.Substitute(form));
2525 const char *form = "(NEONCopy)";
2534 form = "'Vd.%s['IVInsIndex1], 'Vn.%s['IVInsIndex2]";
2539 form = "'Vd.%s['IVInsIndex1], 'Xn";
2541 form = "'Vd.%s['IVInsIndex1], 'Wn";
2551 form = "'Xd, 'Vn.%s['IVInsIndex1]";
2553 form = "'Wd, 'Vn.%s['IVInsIndex1]";
2558 form = "'Rdq, 'Vn.%s['IVInsIndex1]";
2561 form = "'Vd.%s, 'Vn.%s['IVInsIndex1]";
2565 form = "'Vd.%s, 'Xn";
2567 form = "'Vd.%s, 'Wn";
2570 Format(instr, mnemonic, nfd.Substitute(form));
2576 const char *form = "(NEONExtract)";
2580 form = "'Vd.%s, 'Vn.%s, 'Vm.%s, 'IVExtract";
2582 Format(instr, mnemonic, nfd.Substitute(form));
2588 const char *form = NULL;
2598 form = form_1v;
2602 form = form_2v;
2606 form = form_3v;
2610 form = form_4v;
2614 form = form_2v;
2618 form = form_3v;
2622 form = form_4v;
2626 form = form_1v;
2630 form = form_2v;
2634 form = form_3v;
2638 form = form_4v;
2642 form = form_2v;
2646 form = form_3v;
2650 form = form_4v;
2673 VIXL_ASSERT(form != NULL);
2676 form = "(NEONLoadStoreMultiStruct)";
2679 Format(instr, mnemonic, nfd.Substitute(form));
2686 const char *form = NULL;
2697 form = form_1v;
2701 form = form_2v;
2705 form = form_3v;
2709 form = form_4v;
2713 form = form_2v;
2717 form = form_3v;
2721 form = form_4v;
2725 form = form_1v;
2729 form = form_2v;
2733 form = form_3v;
2737 form = form_4v;
2741 form = form_2v;
2745 form = form_3v;
2749 form = form_4v;
2772 VIXL_ASSERT(form != NULL);
2775 form = "(NEONLoadStoreMultiStructPostIndex)";
2778 Format(instr, mnemonic, nfd.Substitute(form));
2784 const char *form = NULL;
2795 form = form_1b;
2799 form = form_1h;
2804 form = ((instr->GetNEONLSSize() & 1) == 0) ? form_1s : form_1d;
2808 form = form_1b;
2812 form = form_1h;
2817 form = ((instr->GetNEONLSSize() & 1) == 0) ? form_1s : form_1d;
2821 form = "{'Vt.%s}, ['Xns]";
2826 form = "{'Vt.b, 'Vt2.b}['IVLSLane0], ['Xns]";
2831 form = "{'Vt.h, 'Vt2.h}['IVLSLane1], ['Xns]";
2839 form = "{'Vt.s, 'Vt2.s}['IVLSLane2], ['Xns]";
2841 form = "{'Vt.d, 'Vt2.d}['IVLSLane3], ['Xns]";
2846 form = "{'Vt.%s, 'Vt2.%s}, ['Xns]";
2851 form = "{'Vt.b, 'Vt2.b, 'Vt3.b}['IVLSLane0], ['Xns]";
2856 form = "{'Vt.h, 'Vt2.h, 'Vt3.h}['IVLSLane1], ['Xns]";
2862 form = "{'Vt.s, 'Vt2.s, 'Vt3.s}['IVLSLane2], ['Xns]";
2864 form = "{'Vt.d, 'Vt2.d, 'Vt3.d}['IVLSLane3], ['Xns]";
2869 form = "{'Vt.%s, 'Vt2.%s, 'Vt3.%s}, ['Xns]";
2874 form = "{'Vt.b, 'Vt2.b, 'Vt3.b, 'Vt4.b}['IVLSLane0], ['Xns]";
2879 form = "{'Vt.h, 'Vt2.h, 'Vt3.h, 'Vt4.h}['IVLSLane1], ['Xns]";
2887 form = "{'Vt.s, 'Vt2.s, 'Vt3.s, 'Vt4.s}['IVLSLane2], ['Xns]";
2889 form = "{'Vt.d, 'Vt2.d, 'Vt3.d, 'Vt4.d}['IVLSLane3], ['Xns]";
2894 form = "{'Vt.%1$s, 'Vt2.%1$s, 'Vt3.%1$s, 'Vt4.%1$s}, ['Xns]";
2938 VIXL_ASSERT(form != NULL);
2941 form = "(NEONLoadStoreSingleStruct)";
2944 Format(instr, mnemonic, nfd.Substitute(form));
2951 const char *form = NULL;
2962 form = form_1b;
2966 form = form_1h;
2971 form = ((instr->GetNEONLSSize() & 1) == 0) ? form_1s : form_1d;
2975 form = form_1b;
2979 form = form_1h;
2984 form = ((instr->GetNEONLSSize() & 1) == 0) ? form_1s : form_1d;
2988 form = "{'Vt.%s}, ['Xns], 'Xmz1";
2993 form = "{'Vt.b, 'Vt2.b}['IVLSLane0], ['Xns], 'Xmb2";
2998 form = "{'Vt.h, 'Vt2.h}['IVLSLane1], ['Xns], 'Xmb4";
3004 form = "{'Vt.s, 'Vt2.s}['IVLSLane2], ['Xns], 'Xmb8";
3006 form = "{'Vt.d, 'Vt2.d}['IVLSLane3], ['Xns], 'Xmb16";
3010 form = "{'Vt.%s, 'Vt2.%s}, ['Xns], 'Xmz2";
3015 form = "{'Vt.b, 'Vt2.b, 'Vt3.b}['IVLSLane0], ['Xns], 'Xmb3";
3020 form = "{'Vt.h, 'Vt2.h, 'Vt3.h}['IVLSLane1], ['Xns], 'Xmb6";
3026 form = "{'Vt.s, 'Vt2.s, 'Vt3.s}['IVLSLane2], ['Xns], 'Xmb12";
3028 form = "{'Vt.d, 'Vt2.d, 'Vt3.d}['IVLSLane3], ['Xns], 'Xmb24";
3032 form = "{'Vt.%s, 'Vt2.%s, 'Vt3.%s}, ['Xns], 'Xmz3";
3037 form = "{'Vt.b, 'Vt2.b, 'Vt3.b, 'Vt4.b}['IVLSLane0], ['Xns], 'Xmb4";
3042 form = "{'Vt.h, 'Vt2.h, 'Vt3.h, 'Vt4.h}['IVLSLane1], ['Xns], 'Xmb8";
3048 form = "{'Vt.s, 'Vt2.s, 'Vt3.s, 'Vt4.s}['IVLSLane2], ['Xns], 'Xmb16";
3050 form = "{'Vt.d, 'Vt2.d, 'Vt3.d, 'Vt4.d}['IVLSLane3], ['Xns], 'Xmb32";
3054 form = "{'Vt.%1$s, 'Vt2.%1$s, 'Vt3.%1$s, 'Vt4.%1$s}, ['Xns], 'Xmz4";
3098 VIXL_ASSERT(form != NULL);
3101 form = "(NEONLoadStoreSingleStructPostIndex)";
3104 Format(instr, mnemonic, nfd.Substitute(form));
3110 const char *form = "'Vt.%s, 'IVMIImm8, lsl 'IVMIShiftAmt1";
3143 form
3149 form = "'Vt.%s, 'IVMIImm8";
3151 form = (q == 0) ? "'Dd, 'IVMIImm" : "'Vt.2d, 'IVMIImm";
3156 form = "'Vt.%s, 'IVMIImmFPSingle";
3160 form = "'Vt.2d, 'IVMIImmFPDouble";
3163 form = "(NEONModifiedImmediate)";
3170 Format(instr, mnemonic, nfd.Substitute(form));
3176 const char *form = "%sd, %sn";
3188 form = form_0;
3192 form = form_0;
3196 form = form_0;
3200 form = form_0;
3204 form = form_0;
3225 form = "(NEONScalar2RegMisc)";
3246 form = form_fp0;
3250 form = form_fp0;
3254 form = form_fp0;
3258 form = form_fp0;
3262 form = form_fp0;
3315 form = "(NEONScalar2RegMisc)";
3319 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
3325 const char *form = "%sd, %sn, %sm";
3341 form = "(NEONScalar3Diff)";
3343 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
3349 const char *form = "%sd, %sn, %sm";
3383 form = "(NEONScalar3Same)";
3454 form = "(NEONScalar3Same)";
3457 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
3463 const char *form = "%sd, %sn, 'Ve.%s['IVByElemIndex]";
3502 form = "(NEONScalarByIndexedElement)";
3512 nfd.Substitute(form, nfd.kPlaceholder, nfd.kPlaceholder, nfd.kFormat));
3518 const char *form = "(NEONScalarCopy)";
3524 form = "%sd, 'Vn.%s['IVInsIndex1]";
3527 Format(instr, mnemonic, nfd.Substitute(form, nfd.kPlaceholder, nfd.kFormat));
3533 const char *form = "%sd, 'Vn.%s";
3557 form = "(NEONScalarPairwise)";
3561 nfd.Substitute(form,
3569 const char *form = "%sd, %sn, 'Is1";
3636 form = form_2;
3640 form = form_2;
3644 form = form_2;
3648 form = form_2;
3652 form = form_2;
3679 form = "(NEONScalarShiftImmediate)";
3682 form = "(NEONScalarShiftImmediate)";
3684 Format(instr, mnemonic, nfd.SubstitutePlaceholders(form));
3690 const char *form = "'Vd.%s, 'Vn.%s, 'Is1";
3741 form = form_shift_2;
3745 form = form_shift_2;
3749 form = form_shift_2;
3753 form = form_shift_2;
3757 form = form_shift_2;
3834 form = form_xtl;
3837 form = form_shift_2;
3845 form = form_xtl;
3848 form = form_shift_2;
3853 form = "(NEONShiftImmediate)";
3856 form = "(NEONShiftImmediate)";
3858 Format(instr, mnemonic, nfd.Substitute(form));
3864 const char *form = "(NEONTable)";
3876 form = form_1v;
3880 form = form_2v;
3884 form = form_3v;
3888 form = form_4v;
3892 form = form_1v;
3896 form = form_2v;
3900 form = form_3v;
3904 form = form_4v;
3914 form,
3925 const char *form = "'Vd.%s, 'Vn.%s, 'Vm.%s";
3948 form = "(NEONPerm)";
3950 Format(instr, mnemonic, nfd.Substitute(form));