• Home
  • Raw
  • Download

Lines Matching +full:3 +full:rd

100 		if (((regs->ccr >> (31 - bi)) & 1) != ((bo >> 3) & 1))  in branch_taken()
149 ea = (signed short) (instr & ~3); /* sign-extend */ in dsform_ea()
751 i = IS_LE ? 3 - j : j; in emulate_vsx_load()
755 u32 val = reg->w[IS_LE ? 3 : 0]; in emulate_vsx_load()
757 i = IS_LE ? 3 - j : j; in emulate_vsx_load()
834 i = IS_LE ? 3 - j : j; in emulate_vsx_store()
954 "1: " op " %2,0,%3\n" \
959 "3: li %0,%4\n" \
962 EX_TABLE(1b, 3b) \
974 "3: li %0,%3\n" \
977 EX_TABLE(1b, 3b) \
986 "3: li %0,%3\n" \
989 EX_TABLE(1b, 3b) \
999 op->ccval = (regs->ccr & 0x0fffffff) | ((regs->xer >> 3) & 0x10000000); in set_cr0()
1023 struct instruction_op *op, int rd, in add_with_carry() argument
1032 op->reg = rd; in add_with_carry()
1220 unsigned int opcode, ra, rb, rc, rd, spr, u; in analyse_instr() local
1273 rd = 7 - ((word >> 23) & 0x7); in analyse_instr()
1275 rd *= 4; in analyse_instr()
1278 op->ccval = (regs->ccr & ~(0xfUL << rd)) | (val << rd); in analyse_instr()
1313 rd = (word >> 21) & 0x1f; in analyse_instr()
1317 op->ccval = (regs->ccr & ~(1UL << (31 - rd))) | in analyse_instr()
1318 (val << (31 - rd)); in analyse_instr()
1327 switch ((word >> 21) & 3) { in analyse_instr()
1349 rd = (word >> 21) & 0x1f; in analyse_instr()
1362 rd = (suffix >> 21) & 0x1f; in analyse_instr()
1363 op->reg = rd; in analyse_instr()
1364 op->val = regs->gpr[rd]; in analyse_instr()
1380 if (rd & trap_compare(regs->gpr[ra], (short) word)) in analyse_instr()
1384 case 3: /* twi */ in analyse_instr()
1385 if (rd & trap_compare((int)regs->gpr[ra], (short) word)) in analyse_instr()
1401 asm volatile(PPC_MADDHD(%0, %1, %2, %3) : in analyse_instr()
1407 asm volatile(PPC_MADDHDU(%0, %1, %2, %3) : in analyse_instr()
1413 asm volatile(PPC_MADDLD(%0, %1, %2, %3) : in analyse_instr()
1432 add_with_carry(regs, op, rd, ~regs->gpr[ra], imm, 1); in analyse_instr()
1439 if ((rd & 1) == 0) in analyse_instr()
1442 do_cmp_unsigned(regs, op, val, imm, rd >> 2); in analyse_instr()
1449 if ((rd & 1) == 0) in analyse_instr()
1452 do_cmp_signed(regs, op, val, imm, rd >> 2); in analyse_instr()
1457 add_with_carry(regs, op, rd, regs->gpr[ra], imm, 0); in analyse_instr()
1462 add_with_carry(regs, op, rd, regs->gpr[ra], imm, 0); in analyse_instr()
1496 val = DATA32(regs->gpr[rd]); in analyse_instr()
1504 val = DATA32(regs->gpr[rd]); in analyse_instr()
1512 val = DATA32(regs->gpr[rd]); in analyse_instr()
1517 op->val = regs->gpr[rd] | (unsigned short) word; in analyse_instr()
1522 op->val = regs->gpr[rd] | (imm << 16); in analyse_instr()
1526 op->val = regs->gpr[rd] ^ (unsigned short) word; in analyse_instr()
1531 op->val = regs->gpr[rd] ^ (imm << 16); in analyse_instr()
1535 op->val = regs->gpr[rd] & (unsigned short) word; in analyse_instr()
1541 op->val = regs->gpr[rd] & (imm << 16); in analyse_instr()
1548 val = regs->gpr[rd]; in analyse_instr()
1552 switch ((word >> 2) & 3) { in analyse_instr()
1562 case 3: /* rldimi */ in analyse_instr()
1598 if (rd == 0x1f || in analyse_instr()
1599 (rd & trap_compare((int)regs->gpr[ra], in analyse_instr()
1605 if (rd & trap_compare(regs->gpr[ra], regs->gpr[rb])) in analyse_instr()
1613 op->reg = rd; in analyse_instr()
1619 op->reg = rd; in analyse_instr()
1627 op->reg = rd; in analyse_instr()
1651 val = regs->gpr[rd]; in analyse_instr()
1664 op->reg = rd; in analyse_instr()
1674 op->val = regs->gpr[rd]; in analyse_instr()
1688 if ((rd & 1) == 0) { in analyse_instr()
1694 do_cmp_signed(regs, op, val, val2, rd >> 2); in analyse_instr()
1701 if ((rd & 1) == 0) { in analyse_instr()
1707 do_cmp_unsigned(regs, op, val, val2, rd >> 2); in analyse_instr()
1711 do_cmpb(regs, op, regs->gpr[rd], regs->gpr[rb]); in analyse_instr()
1718 add_with_carry(regs, op, rd, ~regs->gpr[ra], in analyse_instr()
1728 add_with_carry(regs, op, rd, regs->gpr[ra], in analyse_instr()
1756 add_with_carry(regs, op, rd, ~regs->gpr[ra], in analyse_instr()
1761 add_with_carry(regs, op, rd, regs->gpr[ra], in analyse_instr()
1766 add_with_carry(regs, op, rd, ~regs->gpr[ra], 0L, in analyse_instr()
1771 add_with_carry(regs, op, rd, regs->gpr[ra], 0L, in analyse_instr()
1776 add_with_carry(regs, op, rd, ~regs->gpr[ra], -1L, in analyse_instr()
1785 add_with_carry(regs, op, rd, regs->gpr[ra], -1L, in analyse_instr()
1883 val = (unsigned int) regs->gpr[rd]; in analyse_instr()
1888 val = regs->gpr[rd]; in analyse_instr()
1893 op->val = regs->gpr[rd] & regs->gpr[rb]; in analyse_instr()
1897 op->val = regs->gpr[rd] & ~regs->gpr[rb]; in analyse_instr()
1901 do_popcnt(regs, op, regs->gpr[rd], 8); in analyse_instr()
1905 op->val = ~(regs->gpr[rd] | regs->gpr[rb]); in analyse_instr()
1909 do_prty(regs, op, regs->gpr[rd], 32); in analyse_instr()
1913 do_prty(regs, op, regs->gpr[rd], 64); in analyse_instr()
1917 do_bpermd(regs, op, regs->gpr[rd], regs->gpr[rb]); in analyse_instr()
1921 op->val = ~(regs->gpr[rd] ^ regs->gpr[rb]); in analyse_instr()
1925 op->val = regs->gpr[rd] ^ regs->gpr[rb]; in analyse_instr()
1929 do_popcnt(regs, op, regs->gpr[rd], 32); in analyse_instr()
1933 op->val = regs->gpr[rd] | ~regs->gpr[rb]; in analyse_instr()
1937 op->val = regs->gpr[rd] | regs->gpr[rb]; in analyse_instr()
1941 op->val = ~(regs->gpr[rd] & regs->gpr[rb]); in analyse_instr()
1945 do_popcnt(regs, op, regs->gpr[rd], 64); in analyse_instr()
1951 val = (unsigned int) regs->gpr[rd]; in analyse_instr()
1958 val = regs->gpr[rd]; in analyse_instr()
1963 op->val = (signed short) regs->gpr[rd]; in analyse_instr()
1967 op->val = (signed char) regs->gpr[rd]; in analyse_instr()
1971 op->val = (signed int) regs->gpr[rd]; in analyse_instr()
1981 op->val = (regs->gpr[rd] << sh) & 0xffffffffUL; in analyse_instr()
1989 op->val = (regs->gpr[rd] & 0xffffffffUL) >> sh; in analyse_instr()
1997 ival = (signed int) regs->gpr[rd]; in analyse_instr()
2010 ival = (signed int) regs->gpr[rd]; in analyse_instr()
2024 op->val = regs->gpr[rd] << sh; in analyse_instr()
2032 op->val = regs->gpr[rd] >> sh; in analyse_instr()
2040 ival = (signed long int) regs->gpr[rd]; in analyse_instr()
2054 ival = (signed long int) regs->gpr[rd]; in analyse_instr()
2070 val = (signed int) regs->gpr[rd]; in analyse_instr()
2095 op->reg = rd; in analyse_instr()
2101 op->reg = rd; in analyse_instr()
2122 op->reg = rd; in analyse_instr()
2123 op->val = regs->gpr[rd]; in analyse_instr()
2166 if (!((rd & 1) || rd == ra || rd == rb)) in analyse_instr()
2171 if (!(rd & 1)) in analyse_instr()
2345 op->val = byterev_8(regs->gpr[rd]); in analyse_instr()
2355 op->val = byterev_4(regs->gpr[rd]); in analyse_instr()
2371 op->val = byterev_2(regs->gpr[rd]); in analyse_instr()
2376 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2382 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2388 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2396 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2407 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2419 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2428 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2437 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2448 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2460 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2467 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2473 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2480 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2486 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2494 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2503 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2512 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2519 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2527 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2534 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2542 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2551 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2560 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2567 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2575 op->reg = rd | ((word & 1) << 5); in analyse_instr()
2628 if (ra >= rd) in analyse_instr()
2630 op->type = MKOP(LOAD_MULTI, 0, 4 * (32 - rd)); in analyse_instr()
2635 op->type = MKOP(STORE_MULTI, 0, 4 * (32 - rd)); in analyse_instr()
2667 if (!((rd & 1) || (rd == ra))) in analyse_instr()
2676 switch (word & 3) { in analyse_instr()
2678 if (rd & 1) in analyse_instr()
2685 op->reg = rd + 32; in analyse_instr()
2690 case 3: /* lxssp */ in analyse_instr()
2693 op->reg = rd + 32; in analyse_instr()
2705 switch (word & 3) { in analyse_instr()
2733 op->reg = rd + 32; in analyse_instr()
2744 op->reg = rd + 32; in analyse_instr()
2750 case 3: /* stxssp with LSB of DS field = 0 */ in analyse_instr()
2755 op->reg = rd + 32; in analyse_instr()
2766 op->reg = rd + 32; in analyse_instr()
2778 switch (word & 3) { in analyse_instr()
2786 if (!(rd & 1)) in analyse_instr()
2798 rd = (suffix >> 21) & 0x1f; in analyse_instr()
2799 op->reg = rd; in analyse_instr()
2800 op->val = regs->gpr[rd]; in analyse_instr()
2815 op->reg = rd + 32; in analyse_instr()
2821 op->reg = rd + 32; in analyse_instr()
2827 op->reg = rd + 32; in analyse_instr()
2833 op->reg = rd + 32; in analyse_instr()
2847 op->reg = rd + 32; in analyse_instr()
2911 case 3: /* Type 11 Modified Register-to-Register */ in analyse_instr()
2921 if (ra == rd) in analyse_instr()
2958 op->reg = rd; in analyse_instr()
3133 int i, rd, nb; in emulate_loadstore() local
3217 ((regs->xer >> 3) & 0x10000000); in emulate_loadstore()
3277 rd = op->reg; in emulate_loadstore()
3289 regs->gpr[rd] = v32; in emulate_loadstore()
3292 rd = (rd + 1) & 0x1f; in emulate_loadstore()
3348 rd = op->reg; in emulate_loadstore()
3350 unsigned int v32 = regs->gpr[rd]; in emulate_loadstore()
3362 rd = (rd + 1) & 0x1f; in emulate_loadstore()