Lines Matching refs:gpr
137 ea += regs->gpr[ra]; in dform_ea()
155 ea += regs->gpr[ra]; in dsform_ea()
172 ea += regs->gpr[ra]; in dqform_ea()
189 ea = regs->gpr[rb]; in xform_ea()
191 ea += regs->gpr[ra]; in xform_ea()
223 ea += regs->gpr[ra]; in mlsd_8lsd_ea()
742 err = do_lq(ea, ®s->gpr[reg]); in emulate_lq()
744 err = read_mem(®s->gpr[reg + IS_LE], ea, 8, regs); in emulate_lq()
746 err = read_mem(®s->gpr[reg + IS_BE], ea + 8, 8, regs); in emulate_lq()
749 do_byte_reverse(®s->gpr[reg], 16); in emulate_lq()
761 vals[0] = regs->gpr[reg]; in emulate_stq()
762 vals[1] = regs->gpr[reg + 1]; in emulate_stq()
1502 op->val = regs->gpr[rd]; in analyse_instr()
1518 if (rd & trap_compare(regs->gpr[ra], (short) word)) in analyse_instr()
1523 if (rd & trap_compare((int)regs->gpr[ra], (short) word)) in analyse_instr()
1540 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1541 "r" (regs->gpr[rb]), "r" (regs->gpr[rc])); in analyse_instr()
1546 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1547 "r" (regs->gpr[rb]), "r" (regs->gpr[rc])); in analyse_instr()
1552 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1553 "r" (regs->gpr[rb]), "r" (regs->gpr[rc])); in analyse_instr()
1565 op->val = regs->gpr[ra] * (short) word; in analyse_instr()
1570 add_with_carry(regs, op, rd, ~regs->gpr[ra], imm, 1); in analyse_instr()
1575 val = regs->gpr[ra]; in analyse_instr()
1585 val = regs->gpr[ra]; in analyse_instr()
1595 add_with_carry(regs, op, rd, regs->gpr[ra], imm, 0); in analyse_instr()
1600 add_with_carry(regs, op, rd, regs->gpr[ra], imm, 0); in analyse_instr()
1607 imm += regs->gpr[ra]; in analyse_instr()
1614 imm += regs->gpr[ra]; in analyse_instr()
1634 val = DATA32(regs->gpr[rd]); in analyse_instr()
1636 op->val = (regs->gpr[ra] & ~imm) | (ROTATE(val, rb) & imm); in analyse_instr()
1642 val = DATA32(regs->gpr[rd]); in analyse_instr()
1649 rb = regs->gpr[rb] & 0x1f; in analyse_instr()
1650 val = DATA32(regs->gpr[rd]); in analyse_instr()
1655 op->val = regs->gpr[rd] | (unsigned short) word; in analyse_instr()
1660 op->val = regs->gpr[rd] | (imm << 16); in analyse_instr()
1664 op->val = regs->gpr[rd] ^ (unsigned short) word; in analyse_instr()
1669 op->val = regs->gpr[rd] ^ (imm << 16); in analyse_instr()
1673 op->val = regs->gpr[rd] & (unsigned short) word; in analyse_instr()
1679 op->val = regs->gpr[rd] & (imm << 16); in analyse_instr()
1686 val = regs->gpr[rd]; in analyse_instr()
1702 val = (regs->gpr[ra] & ~imm) | in analyse_instr()
1708 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1728 val2 = (ra) ? regs->gpr[ra] : 0; in analyse_instr()
1730 op->val = (val) ? val2 : regs->gpr[rb]; in analyse_instr()
1737 (rd & trap_compare((int)regs->gpr[ra], in analyse_instr()
1738 (int)regs->gpr[rb]))) in analyse_instr()
1743 if (rd & trap_compare(regs->gpr[ra], regs->gpr[rb])) in analyse_instr()
1811 val = regs->gpr[rd]; in analyse_instr()
1834 op->val = regs->gpr[rd]; in analyse_instr()
1845 val = regs->gpr[ra]; in analyse_instr()
1846 val2 = regs->gpr[rb]; in analyse_instr()
1858 val = regs->gpr[ra]; in analyse_instr()
1859 val2 = regs->gpr[rb]; in analyse_instr()
1871 do_cmpb(regs, op, regs->gpr[rd], regs->gpr[rb]); in analyse_instr()
1878 add_with_carry(regs, op, rd, ~regs->gpr[ra], in analyse_instr()
1879 regs->gpr[rb], 1); in analyse_instr()
1884 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1888 add_with_carry(regs, op, rd, regs->gpr[ra], in analyse_instr()
1889 regs->gpr[rb], 0); in analyse_instr()
1894 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1898 op->val = regs->gpr[rb] - regs->gpr[ra]; in analyse_instr()
1903 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1908 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1912 op->val = -regs->gpr[ra]; in analyse_instr()
1916 add_with_carry(regs, op, rd, ~regs->gpr[ra], in analyse_instr()
1917 regs->gpr[rb], regs->xer & XER_CA); in analyse_instr()
1921 add_with_carry(regs, op, rd, regs->gpr[ra], in analyse_instr()
1922 regs->gpr[rb], regs->xer & XER_CA); in analyse_instr()
1926 add_with_carry(regs, op, rd, ~regs->gpr[ra], 0L, in analyse_instr()
1931 add_with_carry(regs, op, rd, regs->gpr[ra], 0L, in analyse_instr()
1936 add_with_carry(regs, op, rd, ~regs->gpr[ra], -1L, in analyse_instr()
1941 op->val = regs->gpr[ra] * regs->gpr[rb]; in analyse_instr()
1945 add_with_carry(regs, op, rd, regs->gpr[ra], -1L, in analyse_instr()
1950 op->val = (long)(int) regs->gpr[ra] * in analyse_instr()
1951 (int) regs->gpr[rb]; in analyse_instr()
1958 op->val = regs->gpr[ra] % regs->gpr[rb]; in analyse_instr()
1962 op->val = regs->gpr[ra] + regs->gpr[rb]; in analyse_instr()
1968 op->val = (unsigned int) regs->gpr[ra] % in analyse_instr()
1969 (unsigned int) regs->gpr[rb]; in analyse_instr()
1973 op->val = regs->gpr[ra] / regs->gpr[rb]; in analyse_instr()
1977 op->val = (unsigned int) regs->gpr[ra] / in analyse_instr()
1978 (unsigned int) regs->gpr[rb]; in analyse_instr()
1982 op->val = (long int) regs->gpr[ra] / in analyse_instr()
1983 (long int) regs->gpr[rb]; in analyse_instr()
1987 op->val = (int) regs->gpr[ra] / in analyse_instr()
1988 (int) regs->gpr[rb]; in analyse_instr()
1993 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1994 "r" (regs->gpr[rb])); in analyse_instr()
1998 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1999 "r" (regs->gpr[rb])); in analyse_instr()
2027 op->val = (long int) regs->gpr[ra] % in analyse_instr()
2028 (long int) regs->gpr[rb]; in analyse_instr()
2034 op->val = (int) regs->gpr[ra] % in analyse_instr()
2035 (int) regs->gpr[rb]; in analyse_instr()
2043 val = (unsigned int) regs->gpr[rd]; in analyse_instr()
2048 val = regs->gpr[rd]; in analyse_instr()
2053 op->val = regs->gpr[rd] & regs->gpr[rb]; in analyse_instr()
2057 op->val = regs->gpr[rd] & ~regs->gpr[rb]; in analyse_instr()
2061 do_popcnt(regs, op, regs->gpr[rd], 8); in analyse_instr()
2065 op->val = ~(regs->gpr[rd] | regs->gpr[rb]); in analyse_instr()
2069 do_prty(regs, op, regs->gpr[rd], 32); in analyse_instr()
2073 do_prty(regs, op, regs->gpr[rd], 64); in analyse_instr()
2077 do_bpermd(regs, op, regs->gpr[rd], regs->gpr[rb]); in analyse_instr()
2081 op->val = ~(regs->gpr[rd] ^ regs->gpr[rb]); in analyse_instr()
2085 op->val = regs->gpr[rd] ^ regs->gpr[rb]; in analyse_instr()
2089 do_popcnt(regs, op, regs->gpr[rd], 32); in analyse_instr()
2093 op->val = regs->gpr[rd] | ~regs->gpr[rb]; in analyse_instr()
2097 op->val = regs->gpr[rd] | regs->gpr[rb]; in analyse_instr()
2101 op->val = ~(regs->gpr[rd] & regs->gpr[rb]); in analyse_instr()
2105 do_popcnt(regs, op, regs->gpr[rd], 64); in analyse_instr()
2111 val = (unsigned int) regs->gpr[rd]; in analyse_instr()
2118 val = regs->gpr[rd]; in analyse_instr()
2123 op->val = (signed short) regs->gpr[rd]; in analyse_instr()
2127 op->val = (signed char) regs->gpr[rd]; in analyse_instr()
2131 op->val = (signed int) regs->gpr[rd]; in analyse_instr()
2139 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
2141 op->val = (regs->gpr[rd] << sh) & 0xffffffffUL; in analyse_instr()
2147 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
2149 op->val = (regs->gpr[rd] & 0xffffffffUL) >> sh; in analyse_instr()
2156 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
2157 ival = (signed int) regs->gpr[rd]; in analyse_instr()
2170 ival = (signed int) regs->gpr[rd]; in analyse_instr()
2182 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
2184 op->val = regs->gpr[rd] << sh; in analyse_instr()
2190 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
2192 op->val = regs->gpr[rd] >> sh; in analyse_instr()
2199 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
2200 ival = (signed long int) regs->gpr[rd]; in analyse_instr()
2214 ival = (signed long int) regs->gpr[rd]; in analyse_instr()
2230 val = (signed int) regs->gpr[rd]; in analyse_instr()
2283 op->val = regs->gpr[rd]; in analyse_instr()
2455 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2505 op->val = byterev_8(regs->gpr[rd]); in analyse_instr()
2515 op->val = byterev_4(regs->gpr[rd]); in analyse_instr()
2522 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2531 op->val = byterev_2(regs->gpr[rd]); in analyse_instr()
2568 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2569 nb = regs->gpr[rb] & 0xff; in analyse_instr()
2617 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2618 nb = regs->gpr[rb] & 0xff; in analyse_instr()
2991 op->val = regs->gpr[rd]; in analyse_instr()
3240 regs->gpr[op->reg] = op->val; in emulate_update_regs()
3279 regs->gpr[op->reg] = regs->xer & 0xffffffffUL; in emulate_update_regs()
3282 regs->gpr[op->reg] = regs->link; in emulate_update_regs()
3285 regs->gpr[op->reg] = regs->ctr; in emulate_update_regs()
3364 err = do_lqarx(ea, ®s->gpr[op->reg]); in emulate_loadstore()
3375 regs->gpr[op->reg] = val; in emulate_loadstore()
3401 err = do_stqcx(ea, regs->gpr[op->reg], in emulate_loadstore()
3402 regs->gpr[op->reg + 1], &cr); in emulate_loadstore()
3423 err = read_mem(®s->gpr[op->reg], ea, size, regs); in emulate_loadstore()
3426 do_signext(®s->gpr[op->reg], size); in emulate_loadstore()
3428 do_byterev(®s->gpr[op->reg], size); in emulate_loadstore()
3483 regs->gpr[rd] = v32; in emulate_loadstore()
3500 ea >= regs->gpr[1] - STACK_INT_FRAME_SIZE) { in emulate_loadstore()
3544 unsigned int v32 = regs->gpr[rd]; in emulate_loadstore()
3568 regs->gpr[op->update_reg] = op->ea; in emulate_loadstore()
3640 regs->gpr[op.reg] = regs->msr & MSR_MASK; in emulate_step()
3644 val = regs->gpr[op.reg]; in emulate_step()
3661 regs->gpr[0] == 0x1ebe) { in emulate_step()
3665 regs->gpr[9] = regs->gpr[13]; in emulate_step()
3666 regs->gpr[10] = MSR_KERNEL; in emulate_step()
3667 regs->gpr[11] = regs->nip + 4; in emulate_step()
3668 regs->gpr[12] = regs->msr & MSR_MASK; in emulate_step()
3669 regs->gpr[13] = (unsigned long) get_paca(); in emulate_step()
3676 regs->gpr[9] = regs->gpr[13]; in emulate_step()
3677 regs->gpr[10] = MSR_KERNEL; in emulate_step()
3678 regs->gpr[11] = regs->nip + 4; in emulate_step()
3679 regs->gpr[12] = regs->msr & MSR_MASK; in emulate_step()
3680 regs->gpr[13] = (unsigned long) get_paca(); in emulate_step()