Lines Matching defs:inst

207 union inst {
1858 fmt_zero(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1865 fmt_diag(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1868 val_8_16(inst->diag.par1, inst->diag.par2));
1873 fmt_e(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1880 fmt_i(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1882 (void) snprintf(buf, buflen, "%#x", inst->i.i);
1887 fmt_ie(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1889 (void) snprintf(buf, buflen, "%u,%u", inst->ie.i1, inst->ie.i2);
1894 fmt_mii(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1896 uint64_t ri2 = addr + 2 * sval_4_8(inst->mii.ri2h, inst->mii.ri2l);
1897 uint64_t ri3 = addr + 2 * sval_8_16(inst->mii.ri3h, inst->mii.ri3l);
1899 (void) snprintf(buf, buflen, "%s,%#x,%#x", M[inst->mii.m1], ri2, ri3);
1904 fmt_ril_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1906 (void) snprintf(buf, buflen, "%s,%u", R[inst->ril_a.r1],
1907 val_16_16(inst->ril_a.i2h, inst->ril_a.i2l));
1912 fmt_ril_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1915 sval_16_16(inst->ril_b.ri2h, inst->ril_b.ri2l);
1917 (void) snprintf(buf, buflen, "%s,%#x", R[inst->ril_b.r1], ri2);
1922 fmt_ril_c(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1925 sval_16_16(inst->ril_c.ri2h, inst->ril_c.ri2l);
1927 (void) snprintf(buf, buflen, "%s,%#x", M[inst->ril_c.m1], ri2);
1932 fmt_ris(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1934 uint32_t d4 = val_4_8(inst->ris.d4h, inst->ris.d4l);
1937 R[inst->ris.r1], inst->ris.i2, M[inst->ris.m3], d4,
1938 B[inst->ris.b4]);
1943 fmt_ri_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1945 uint16_t i2 = BE_16(inst->ri_a.i2);
1948 (void) snprintf(buf, buflen, "%s,%d", R[inst->ri_a.r1],
1951 (void) snprintf(buf, buflen, "%s,%u", R[inst->ri_a.r1],
1957 fmt_ri_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1959 uint64_t ri2 = addr + 2 * (int16_t)BE_16(inst->ri_b.ri2);
1961 (void) snprintf(buf, buflen, "%s,%#x", R[inst->ri_b.r1], ri2);
1965 fmt_ri_c(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1967 uint64_t ri2 = addr + 2 * (int16_t)BE_16(inst->ri_c.ri2);
1972 (void) snprintf(buf, buflen, "%s,%#x", M[inst->ri_c.m1], ri2);
1977 fmt_rie_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1979 (void) snprintf(buf, buflen, "%s,%u,%s", R[inst->rie_a.r1],
1980 BE_16(inst->rie_a.i2), M[inst->rie_a.m3]);
1985 fmt_rie_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1987 uint64_t ri4 = addr + 2 * (int16_t)BE_16(inst->rie_b.ri4);
1989 (void) snprintf(buf, buflen, "%s,%s,%s,%#x", R[inst->rie_b.r1],
1990 R[inst->rie_b.r2], M[inst->rie_b.m3], ri4);
1995 fmt_rie_c(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
1997 uint64_t ri4 = addr + 2 * (int16_t)BE_16(inst->rie_c.ri4);
1999 (void) snprintf(buf, buflen, "%s,%u,%s,%#x", R[inst->rie_c.r1],
2000 inst->rie_c.i2, M[inst->rie_c.m3], ri4);
2005 fmt_rie_d(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2007 (void) snprintf(buf, buflen, "%s,%s,%u", R[inst->rie_d.r1],
2008 R[inst->rie_d.r3], BE_16(inst->rie_d.i2));
2013 fmt_rie_e(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2015 uint64_t ri2 = addr + 2 * (int16_t)BE_16(inst->rie_e.ri2);
2017 (void) snprintf(buf, buflen, "%s,%s,%#x", R[inst->rie_e.r1],
2018 R[inst->rie_e.r3], ri2);
2023 fmt_rie_f(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2025 (void) snprintf(buf, buflen, "%s,%s,%u,%u,%u", R[inst->rie_f.r1],
2026 R[inst->rie_f.r2], inst->rie_f.i3, inst->rie_f.i4,
2027 inst->rie_f.i5);
2032 fmt_rre(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2034 (void) snprintf(buf, buflen, "%s,%s", R[inst->rre.r1], R[inst->rre.r2]);
2039 fmt_rrf_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2042 R[inst->rrf_ab.r1], R[inst->rrf_ab.r2], R[inst->rrf_ab.r3]);
2047 fmt_rrf_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2050 R[inst->rrf_ab.r1], R[inst->rrf_ab.r3], R[inst->rrf_ab.r2]);
2055 fmt_rrf_c(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2058 R[inst->rrf_cde.r1], R[inst->rrf_cde.r2], M[inst->rrf_cde.m3]);
2063 fmt_rrf_d(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2066 R[inst->rrf_cde.r1], R[inst->rrf_cde.r2], M[inst->rrf_cde.m4]);
2071 fmt_rrf_e(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2074 R[inst->rrf_cde.r1], M[inst->rrf_cde.m3],
2075 R[inst->rrf_cde.r2], M[inst->rrf_cde.m4]);
2080 fmt_rrs(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2082 (void) snprintf(buf, buflen, "%s,%s,%s,%u(%s)", R[inst->rrs.r1],
2083 R[inst->rrs.r2], M[inst->rrs.m3],
2084 val_4_8(inst->rrs.d4h, inst->rrs.d4l), B[inst->rrs.b4]);
2089 fmt_rr(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2093 (void) snprintf(buf, buflen, "%s", R[inst->rr.r2]);
2095 (void) snprintf(buf, buflen, "%s,%s", M[inst->rr.r1],
2096 R[inst->rr.r2]);
2098 (void) snprintf(buf, buflen, "%s,%s", R[inst->rr.r1],
2099 R[inst->rr.r2]);
2104 fmt_rrd(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2106 (void) snprintf(buf, buflen, "%s,%s,%s", R[inst->rrd.r1],
2107 R[inst->rrd.r3], R[inst->rrd.r2]);
2112 fmt_rx_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2114 uint32_t d2 = val_4_8(inst->rx_a.d2h, inst->rx_b.d2l);
2116 (void) snprintf(buf, buflen, "%s,%u(%s,%s)", R[inst->rx_a.r1],
2117 d2, X[inst->rx_a.x2], B[inst->rx_a.b2]);
2122 fmt_rx_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2124 uint32_t d2 = val_4_8(inst->rx_b.d2h, inst->rx_b.d2l);
2128 d2, X[inst->rx_b.x2], B[inst->rx_b.b2]);
2130 (void) snprintf(buf, buflen, "%s,%u(%s,%s)", M[inst->rx_b.m1],
2131 d2, X[inst->rx_b.x2], B[inst->rx_b.b2]);
2136 fmt_rxe(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2138 uint32_t d2 = val_4_8(inst->rxe.d2h, inst->rxe.d2l);
2141 R[inst->rxe.r1], d2, X[inst->rxe.x2], B[inst->rxe.b2]);
2146 fmt_rxf(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2148 uint32_t d2 = val_4_8(inst->rxf.d2h, inst->rxf.d2l);
2151 R[inst->rxf.r1], R[inst->rxf.r3], d2, X[inst->rxf.x2],
2152 B[inst->rxf.b2]);
2157 fmt_rxy_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2161 d2 = val_8_4_8(inst->rxy_a.dh2, inst->rxy_a.dl2h, inst->rxy_a.dl2l);
2164 R[inst->rxy_a.r1], d2, X[inst->rxy_a.x2], B[inst->rxy_a.b2]);
2169 fmt_rxy_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2173 d2 = val_8_4_8(inst->rxy_b.dh2, inst->rxy_b.dl2h, inst->rxy_b.dl2l);
2176 M[inst->rxy_b.m1], d2, X[inst->rxy_b.x2], B[inst->rxy_b.b2]);
2181 fmt_rs_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2186 r1 = C[inst->rs_a.r1];
2187 r3 = C[inst->rs_a.r3];
2189 r1 = R[inst->rs_a.r1];
2190 r3 = R[inst->rs_a.r3];
2194 val_4_8(inst->rs_a.d2h, inst->rs_a.d2l), B[inst->rs_a.b2]);
2199 fmt_rs_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2201 (void) snprintf(buf, buflen, "%s,%s,%u(%s)", R[inst->rs_b.r1],
2202 M[inst->rs_b.m3], val_4_8(inst->rs_b.d2h, inst->rs_b.d2l),
2203 B[inst->rs_b.b2]);
2208 fmt_rsl_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2211 val_4_8(inst->rsl_a.d1h, inst->rsl_a.d1l), inst->rsl_a.l1,
2212 B[inst->rsl_a.b1]);
2217 fmt_rsl_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2220 R[inst->rsl_b.r1],
2221 val_4_8(inst->rsl_b.d2h, inst->rsl_b.d2l), inst->rsl_b.l2,
2222 B[inst->rsl_b.b2], M[inst->rsl_b.m3]);
2227 fmt_rsy_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2232 d2 = val_8_4_8(inst->rsy_a.dh2, inst->rsy_a.dl2h, inst->rsy_a.dl2l);
2235 r1 = C[inst->rsy_a.r1];
2236 r3 = C[inst->rsy_a.r3];
2238 r1 = R[inst->rsy_a.r1];
2239 r3 = R[inst->rsy_a.r3];
2243 B[inst->rsy_a.b2]);
2248 fmt_rsy_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2252 d2 = val_8_4_8(inst->rsy_b.dh2, inst->rsy_b.dl2h, inst->rsy_b.dl2l);
2255 R[inst->rsy_b.r1], M[inst->rsy_b.m3],
2256 d2, B[inst->rsy_b.b2]);
2261 fmt_rsi(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2263 uint64_t ri2 = addr + 2 * (int16_t)BE_16(inst->rsi.ri2);
2265 (void) snprintf(buf, buflen, "%s,%s,%#x", R[inst->rsi.r1],
2266 R[inst->rsi.r3], ri2);
2271 fmt_si(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2273 uint32_t d1 = val_4_8(inst->si.d1h, inst->si.d1l);
2275 (void) snprintf(buf, buflen, "%u(%s),%u", d1, B[inst->si.b1],
2276 inst->si.i2);
2281 fmt_sil(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2284 val_4_8(inst->sil.d1h, inst->sil.d1l), B[inst->sil.b1],
2285 BE_16(inst->sil.i2));
2290 fmt_siy(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2293 val_8_4_8(inst->siy.dh1, inst->siy.dl1h, inst->siy.dl1l),
2294 B[inst->siy.b1], inst->siy.i2);
2299 fmt_smi(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2301 uint64_t ri2 = addr + 2 * (int16_t)BE_16(inst->smi.ri2);
2303 (void) snprintf(buf, buflen, "%s,%#x,%u(%s)", M[inst->smi.m1], ri2,
2304 val_4_8(inst->smi.d3h, inst->smi.d3l), B[inst->smi.b3]);
2309 fmt_s(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2311 uint32_t d = val_4_8(inst->s.d2h, inst->s.d2l);
2313 (void) snprintf(buf, buflen, "%u(%s)", d, B[inst->s.b2]);
2318 fmt_ss_a(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2322 d1 = val_4_8(inst->ss_a.d1h, inst->ss_a.d1l);
2323 d2 = val_4_8(inst->ss_a.d2h, inst->ss_a.d2l);
2326 d1, inst->ss_a.l + 1, B[inst->ss_a.b1],
2327 d2, B[inst->ss_a.b2]);
2332 fmt_ss_b(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2336 d1 = val_4_8(inst->ss_b.d1h, inst->ss_b.d1l);
2337 d2 = val_4_8(inst->ss_b.d2h, inst->ss_b.d2l);
2340 d1, inst->ss_b.l1 + 1, B[inst->ss_b.b1],
2341 d2, inst->ss_b.l2 + 1, B[inst->ss_b.b2]);
2346 fmt_ss_c(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2350 d1 = val_4_8(inst->ss_c.d1h, inst->ss_c.d1l);
2351 d2 = val_4_8(inst->ss_c.d2h, inst->ss_c.d2l);
2354 d1, inst->ss_c.l1, B[inst->ss_c.b1],
2355 d2, B[inst->ss_c.b2], inst->ss_c.i3);
2360 fmt_ss_d(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2364 d1 = val_4_8(inst->ss_d.d1h, inst->ss_d.d1l);
2365 d2 = val_4_8(inst->ss_d.d2h, inst->ss_d.d2l);
2368 d1, R[inst->ss_d.r1], B[inst->ss_d.b1],
2369 d2, B[inst->ss_d.b2], R[inst->ss_d.r3]);
2374 fmt_ss_e(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2378 d2 = val_4_8(inst->ss_e.d2h, inst->ss_e.d2l);
2379 d4 = val_4_8(inst->ss_e.d4h, inst->ss_e.d4l);
2382 R[inst->ss_e.r1], d2, B[inst->ss_e.b2],
2383 R[inst->ss_e.r3], d4, B[inst->ss_e.b4]);
2388 fmt_ss_f(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2392 d1 = val_4_8(inst->ss_f.d1h, inst->ss_f.d1l);
2393 d2 = val_4_8(inst->ss_f.d2h, inst->ss_f.d2l);
2396 d1, B[inst->ss_f.b1], d2, inst->ss_f.l2,
2397 B[inst->ss_f.b2]);
2402 fmt_sse(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2404 uint32_t d1 = val_4_8(inst->sse.d1h, inst->sse.d1l);
2405 uint32_t d2 = val_4_8(inst->sse.d2h, inst->sse.d2l);
2408 d1, B[inst->sse.b1], d2, B[inst->sse.b2]);
2413 fmt_ssf(uint64_t addr, union inst *inst, char *buf, size_t buflen, int flags)
2415 uint32_t d1 = val_4_8(inst->ssf.d1h, inst->ssf.d1l);
2416 uint32_t d2 = val_4_8(inst->ssf.d2h, inst->ssf.d2l);
2419 d1, B[inst->ssf.b1],
2420 d2, B[inst->ssf.b2], R[inst->ssf.r3]);
2423 static void (*fmt_fxns[IF_NFMTS])(uint64_t, union inst *, char *, size_t,
2487 dis_s390(uint64_t addr, union inst *inst, char *buf, size_t buflen, int mach)
2489 const struct inst_table *tbl = &tbl_xx[inst->raw[0]];
2500 idx = inst->raw[tbl->it_u.it_table.it_off];
2520 fmt_fxns[tbl->it_fmt](addr, inst, buf + tmp, buflen - tmp,
2545 union inst inst;
2549 if (dhp->dh_read(dhp->dh_data, addr, &inst.raw[0], 2) != 2)
2552 len = ILC2LEN(inst.raw[0] >> 6) - 2;
2555 dhp->dh_read(dhp->dh_data, addr + 2, &inst.raw[2], len) != len)
2570 dis_s390(addr, &inst, buf, buflen, mach);