Lines Matching refs:inst
77 uint_t inst, op3, asi = 0; in do_unaligned() local
94 inst = fetch_user_instr((caddr_t)rp->r_pc); in do_unaligned()
96 op3 = (inst >> 19) & 0x3f; in do_unaligned()
97 rd = (inst >> 25) & 0x1f; in do_unaligned()
98 rs1 = (inst >> 14) & 0x1f; in do_unaligned()
99 rs2 = inst & 0x1f; in do_unaligned()
100 floatflg = (inst >> 24) & 1; in do_unaligned()
101 immflg = (inst >> 13) & 1; in do_unaligned()
105 if ((inst >> 30) != 3) in do_unaligned()
109 if ((inst & 0xc1680000) == 0xc0680000) in do_unaligned()
113 if ((inst & 0xc1e00000) == 0xc1e00000) in do_unaligned()
117 switch ((inst >> 19) & 3) { /* map size bits to a number */ in do_unaligned()
145 int sz_bits = (inst >> 19) & 0xf; in do_unaligned()
178 asi = (inst >> 5) & 0xff; in do_unaligned()
211 (void *)rp->r_pc, inst); in do_unaligned()
212 printf("type %s", (((inst >> 21) & 1) ? "st" : "ld")); in do_unaligned()
213 if (((inst >> 21) & 1) == 0) in do_unaligned()
214 printf(" %s", (((inst >> 22) & 1) ? in do_unaligned()
218 rd, op3, rs1, rs2, (inst & 0x1fff)); in do_unaligned()
231 imm = inst & 0x1fff; /* mask out immediate field */ in do_unaligned()
262 if ((inst >> 21) & 1) { /* store */ in do_unaligned()
401 if (((inst >> 22) & 1) && ((data.c[7] >> 7) & 1)) { in do_unaligned()
429 if (((inst >> 22) & 1) && ((data.s[3] >> 15) & 1)) { in do_unaligned()
453 if (((inst >> 22) & 1) && ((data.i[1] >> 31) & 1)) { in do_unaligned()
563 uint_t inst, op3, asi = 0; in simulate_lddstd() local
576 inst = fetch_user_instr((caddr_t)rp->r_pc); in simulate_lddstd()
578 inst = *(uint_t *)rp->r_pc; in simulate_lddstd()
580 op3 = (inst >> 19) & 0x3f; in simulate_lddstd()
581 rd = (inst >> 25) & 0x1f; in simulate_lddstd()
582 rs1 = (inst >> 14) & 0x1f; in simulate_lddstd()
583 rs2 = inst & 0x1f; in simulate_lddstd()
584 immflg = (inst >> 13) & 1; in simulate_lddstd()
596 asi = (inst >> 5) & 0xff; in simulate_lddstd()
636 imm = inst & 0x1fff; /* mask out immediate field */ in simulate_lddstd()
671 if ((inst >> 21) & 1) { /* store */ in simulate_lddstd()
718 simulate_popc(struct regs *rp, caddr_t *badaddr, uint_t inst) in simulate_popc() argument
724 rd = (inst >> 25) & 0x1f; in simulate_popc()
725 rs1 = (inst >> 14) & 0x1f; in simulate_popc()
726 rs2 = inst & 0x1f; in simulate_popc()
727 immflg = (inst >> 13) & 1; in simulate_popc()
737 imm = inst & 0x1fff; /* mask out immediate field */ in simulate_popc()
763 simulate_mulscc(struct regs *rp, caddr_t *badaddr, uint_t inst) in simulate_mulscc() argument
774 if ((inst >> 13) & 1) { /* immediate */ in simulate_mulscc()
775 d64 = inst & 0x1fff; in simulate_mulscc()
782 if (inst & 0x1fe0) { in simulate_mulscc()
785 rs2 = inst & 0x1f; in simulate_mulscc()
792 rs1 = (inst >> 14) & 0x1f; in simulate_mulscc()
829 rd = (inst >> 25) & 0x1f; in simulate_mulscc()
847 uint_t inst, optype, op3, asi; in simulate_unimp() local
862 inst = fetch_user_instr(addr); in simulate_unimp()
863 if (inst == (uint_t)-1) { in simulate_unimp()
880 inst != mpcb->mpcb_illexcinsn) in simulate_unimp()
883 mpcb->mpcb_illexcinsn = inst; in simulate_unimp()
886 i = (inst >> 13) & 0x1; in simulate_unimp()
887 rd = (inst >> 25) & 0x1f; in simulate_unimp()
888 optype = (inst >> 30) & 0x3; in simulate_unimp()
889 op3 = (inst >> 19) & 0x3f; in simulate_unimp()
890 ignor = (inst >> 5) & 0xff; in simulate_unimp()
891 if (IS_IBIT_SET(inst)) { in simulate_unimp()
916 return (simulate_popc(rp, badaddr, inst)); in simulate_unimp()
920 return (simulate_mulscc(rp, badaddr, inst)); in simulate_unimp()
968 inst &= ~(0x1f << 25); in simulate_unimp()
970 inst &= ~(0xff << 5); in simulate_unimp()
974 inst &= ~(0xff << 5); in simulate_unimp()
975 } else if (i == 1 && (((inst >> 7) & 0x3f) != 0)) { in simulate_unimp()
976 inst &= ~(0x3f << 7); in simulate_unimp()
986 inst &= ~(0xff << 5); in simulate_unimp()
994 inst &= ~(0x1f << 25); in simulate_unimp()
997 rs1 = ((inst >> 14) & 0x1f); in simulate_unimp()
1011 if ((ignor = (inst & 0x3fff)) != 0) in simulate_unimp()
1012 inst &= ~(0x3fff); in simulate_unimp()
1019 inst &= ~(0xff << 5); in simulate_unimp()
1058 inst &= ~(0xff << 5); in simulate_unimp()
1071 inst &= ~(0x1f << 25); in simulate_unimp()
1073 inst &= ~(0xff << 5); in simulate_unimp()
1078 inst &= ~(0xff << 5); in simulate_unimp()
1131 *(uint_t *)(ka + (uintptr_t)(rp->r_pc % PAGESIZE)) = inst; in simulate_unimp()
1147 uint_t inst, op, op3, rd, rs1, i; in simulate_rdtick() local
1150 inst = fetch_user_instr((caddr_t)rp->r_pc); in simulate_rdtick()
1151 op = (inst >> 30) & 0x3; in simulate_rdtick()
1152 rd = (inst >> 25) & 0x1F; in simulate_rdtick()
1153 op3 = (inst >> 19) & 0x3F; in simulate_rdtick()
1154 i = (inst >> 13) & 0x1; in simulate_rdtick()
1161 rs1 = (inst >> 14) & 0x1F; in simulate_rdtick()
1315 uint_t inst; in calc_memaddr() local
1324 inst = fetch_user_instr((caddr_t)rp->r_pc); in calc_memaddr()
1326 inst = *(uint_t *)rp->r_pc; in calc_memaddr()
1328 rd = (inst >> 25) & 0x1f; in calc_memaddr()
1329 rs1 = (inst >> 14) & 0x1f; in calc_memaddr()
1330 rs2 = inst & 0x1f; in calc_memaddr()
1331 floatflg = (inst >> 24) & 1; in calc_memaddr()
1332 immflg = (inst >> 13) & 1; in calc_memaddr()
1335 switch ((inst >> 19) & 3) { /* map size bits to a number */ in calc_memaddr()
1351 switch ((inst >> 19) & 0xf) { /* map size bits to a number */ in calc_memaddr()
1386 imm = inst & 0x1fff; /* mask out immediate field */ in calc_memaddr()
1421 uint_t inst, op3, asi; in instr_size() local
1444 inst = fetch_user_instr((caddr_t)rp->r_pc); in instr_size()
1446 op3 = (inst >> 19) & 0x3f; in instr_size()
1447 rd = (inst >> 25) & 0x1f; in instr_size()
1448 rs1 = (inst >> 14) & 0x1f; in instr_size()
1449 rs2 = inst & 0x1f; in instr_size()
1450 floatflg = (inst >> 24) & 1; in instr_size()
1451 immflg = (inst >> 13) & 1; in instr_size()
1454 if ((inst >> 30) != 3) in instr_size()
1461 asi = (inst >> 5) & 0xff; in instr_size()
1526 imm = inst & 0x1fff; /* mask out immediate field */ in instr_size()