Lines Matching refs:opcode

1230     int rt = decode_gpr_gpr3(NANOMIPS_EXTRACT_RT3(ctx->opcode));
1231 int rs = decode_gpr_gpr3(NANOMIPS_EXTRACT_RS3(ctx->opcode));
1233 switch (extract32(ctx->opcode, 2, 2)) {
1251 int rt = extract32(ctx->opcode, 21, 5);
1252 int rs = extract32(ctx->opcode, 16, 5);
1253 int rd = extract32(ctx->opcode, 11, 5);
1255 switch (extract32(ctx->opcode, 3, 7)) {
1257 switch (extract32(ctx->opcode, 10, 1)) {
1270 gen_rdhwr(ctx, rt, rs, extract32(ctx->opcode, 11, 3));
1305 switch (extract32(ctx->opcode, 10, 1)) {
1334 switch (extract32(ctx->opcode, 10, 1)) {
1405 gen_mfc0(ctx, cpu_gpr[rt], rs, extract32(ctx->opcode, 11, 3));
1413 gen_mtc0(ctx, t0, rs, extract32(ctx->opcode, 11, 3));
1418 uint8_t sc = extract32(ctx->opcode, 10, 1);
1473 gen_mftr(env, ctx, rs, rt, extract32(ctx->opcode, 10, 1),
1474 extract32(ctx->opcode, 11, 5), extract32(ctx->opcode, 3, 1));
1479 gen_mttr(env, ctx, rs, rt, extract32(ctx->opcode, 10, 1),
1480 extract32(ctx->opcode, 11, 5), extract32(ctx->opcode, 3, 1));
1554 switch (extract32(ctx->opcode, 12, 2)) {
1571 switch (extract32(ctx->opcode, 12, 2)) {
1587 imm = extract32(ctx->opcode, 14, 7);
1588 switch (extract32(ctx->opcode, 12, 2)) {
1616 switch (extract32(ctx->opcode, 12, 1)) {
1628 opc = extract32(ctx->opcode, 12, 2);
1635 switch (extract32(ctx->opcode, 12, 2)) {
1671 switch (extract32(ctx->opcode, 9, 3)) {
1694 switch (extract32(ctx->opcode, 9, 3)) {
1717 switch (extract32(ctx->opcode, 9, 3)) {
1744 switch (extract32(ctx->opcode, 9, 3)) {
1790 switch (extract32(ctx->opcode, 9, 3)) {
1814 int acc = extract32(ctx->opcode, 14, 2);
1832 int acc = extract32(ctx->opcode, 14, 2);
1858 switch (extract32(ctx->opcode, 9, 3)) {
1868 int acc = extract32(ctx->opcode, 14, 2);
1888 int acc = extract32(ctx->opcode, 14, 2);
1916 switch (extract32(ctx->opcode, 9, 3)) {
1933 int acc = extract32(ctx->opcode, 14, 2);
1957 switch (extract32(ctx->opcode, 9, 3)) {
1974 int acc = extract32(ctx->opcode, 14, 2);
2153 switch (extract32(ctx->opcode, 12, 1)) {
2177 imm = extract32(ctx->opcode, 13, 8);
2196 int rt = extract32(ctx->opcode, 21, 5);
2197 int rs = extract32(ctx->opcode, 16, 5);
2198 int rd = extract32(ctx->opcode, 11, 5);
2200 switch (extract32(ctx->opcode, 6, 3)) {
2203 int32_t op1 = extract32(ctx->opcode, 9, 3);
2209 int32_t op1 = extract32(ctx->opcode, 12, 2);
2215 int32_t op1 = extract32(ctx->opcode, 9, 7);
2220 switch (extract32(ctx->opcode, 9, 7)) {
2289 int32_t op1 = extract32(ctx->opcode, 9, 3);
2613 if ((extract32(ctx->opcode, 6, 1)) == 1) {
2615 switch (extract32(ctx->opcode, 7, 4)) {
2642 switch (extract32(ctx->opcode, 7, 4)) {
2698 switch (extract32(ctx->opcode, 7, 4)) {
2730 rt = extract32(ctx->opcode, 21, 5);
2731 rs = extract32(ctx->opcode, 16, 5);
2732 rd = extract32(ctx->opcode, 11, 5);
2739 switch (extract32(ctx->opcode, 0, 3)) {
2741 switch (extract32(ctx->opcode, 3, 7)) {
2814 switch (extract32(ctx->opcode, 3, 3)) {
2816 switch (extract32(ctx->opcode, 9, 1)) {
2826 switch (extract32(ctx->opcode, 9, 1)) {
2836 switch (extract32(ctx->opcode, 9, 1)) {
2846 switch (extract32(ctx->opcode, 9, 1)) {
2856 switch (extract32(ctx->opcode, 6, 8)) {
2882 switch (extract32(ctx->opcode, 6, 9)) {
3007 switch (extract32(ctx->opcode, 3, 3)) {
3009 gen_r6_cmp_s(ctx, extract32(ctx->opcode, 6, 5), rt, rs, rd);
3012 gen_r6_cmp_d(ctx, extract32(ctx->opcode, 6, 5), rt, rs, rd);
3131 switch (extract32(ctx->opcode, 10, 1)) {
3146 switch (extract32(ctx->opcode, 10, 1)) {
3161 switch (extract32(ctx->opcode, 10, 1)) {
3176 switch (extract32(ctx->opcode, 10, 1)) {
3191 switch (extract32(ctx->opcode, 10, 1)) {
3206 switch (extract32(ctx->opcode, 10, 1)) {
3221 switch (extract32(ctx->opcode, 10, 1)) {
3236 switch (extract32(ctx->opcode, 10, 1)) {
3251 switch (extract32(ctx->opcode, 10, 1)) {
3266 switch (extract32(ctx->opcode, 10, 1)) {
3281 switch (extract32(ctx->opcode, 10, 1)) {
3296 switch (extract32(ctx->opcode, 10, 1)) {
3311 switch (extract32(ctx->opcode, 10, 1)) {
3326 switch (extract32(ctx->opcode, 10, 1)) {
3341 switch (extract32(ctx->opcode, 10, 1)) {
3356 switch (extract32(ctx->opcode, 10, 1)) {
3450 int16_t imm = extract32(ctx->opcode, 16, 7);
3469 switch (extract32(ctx->opcode, 10, 1)) {
3516 switch (extract32(ctx->opcode, 10, 1)) {
3532 switch (extract32(ctx->opcode, 10, 2)) {
3558 imm = sextract32(ctx->opcode, 11, 11);
3580 ctx->opcode = (ctx->opcode << 16) | insn;
3582 rt = extract32(ctx->opcode, 21, 5);
3583 rs = extract32(ctx->opcode, 16, 5);
3584 rd = extract32(ctx->opcode, 11, 5);
3586 op = extract32(ctx->opcode, 26, 6);
3591 switch (extract32(ctx->opcode, 19, 2)) {
3597 if ((extract32(ctx->opcode, 18, 1)) == NM_SYSCALL) {
3607 if (is_uhi(ctx, extract32(ctx->opcode, 0, 19))) {
3620 imm = extract32(ctx->opcode, 0, 16);
3631 offset = sextract32(ctx->opcode, 0, 1) << 21 |
3632 extract32(ctx->opcode, 1, 20) << 1;
3638 switch (ctx->opcode & 0x07) {
3644 int32_t op1 = extract32(ctx->opcode, 3, 7);
3649 switch (extract32(ctx->opcode, 3, 3)) {
3659 gen_lsa(ctx, rd, rt, rs, extract32(ctx->opcode, 9, 2) - 1);
3662 gen_ext(ctx, 32, rd, rs, rt, extract32(ctx->opcode, 6, 5));
3678 switch (ctx->opcode & 0x03) {
3681 offset = extract32(ctx->opcode, 0, 21);
3686 gen_ld(ctx, OPC_LW, rt, 28, extract32(ctx->opcode, 2, 19) << 2);
3689 gen_st(ctx, OPC_SW, rt, 28, extract32(ctx->opcode, 2, 19) << 2);
3699 target_long addr_off = extract32(ctx->opcode, 0, 16) | insn << 16;
3700 switch (extract32(ctx->opcode, 16, 5)) {
3767 switch (extract32(ctx->opcode, 12, 4)) {
3769 gen_logic_imm(ctx, OPC_ORI, rt, rs, extract32(ctx->opcode, 0, 12));
3772 gen_logic_imm(ctx, OPC_XORI, rt, rs, extract32(ctx->opcode, 0, 12));
3775 gen_logic_imm(ctx, OPC_ANDI, rt, rs, extract32(ctx->opcode, 0, 12));
3778 switch (extract32(ctx->opcode, 20, 1)) {
3780 switch (ctx->opcode & 3) {
3782 gen_save(ctx, rt, extract32(ctx->opcode, 16, 4),
3783 extract32(ctx->opcode, 2, 1),
3784 extract32(ctx->opcode, 3, 9) << 3);
3788 gen_restore(ctx, rt, extract32(ctx->opcode, 16, 4),
3789 extract32(ctx->opcode, 2, 1),
3790 extract32(ctx->opcode, 3, 9) << 3);
3791 if ((ctx->opcode & 3) == NM_RESTORE_JRC) {
3806 gen_slt_imm(ctx, OPC_SLTI, rt, rs, extract32(ctx->opcode, 0, 12));
3809 gen_slt_imm(ctx, OPC_SLTIU, rt, rs, extract32(ctx->opcode, 0, 12));
3815 imm = extract32(ctx->opcode, 0, 12);
3822 imm = (int16_t) extract32(ctx->opcode, 0, 12);
3827 int shift = extract32(ctx->opcode, 0, 5);
3828 switch (extract32(ctx->opcode, 5, 4)) {
3838 gen_sync(extract32(ctx->opcode, 16, 5));
3842 extract32(ctx->opcode, 0, 5));
3847 extract32(ctx->opcode, 0, 5));
3851 extract32(ctx->opcode, 0, 5));
3855 extract32(ctx->opcode, 0, 5));
3868 tcg_constant_i32(extract32(ctx->opcode, 0, 5));
3870 tcg_constant_i32(extract32(ctx->opcode, 7, 4) << 1);
3872 tcg_constant_i32(extract32(ctx->opcode, 6, 1));
3879 switch (((ctx->opcode >> 10) & 2) |
3880 (extract32(ctx->opcode, 5, 1))) {
3883 gen_bitops(ctx, OPC_INS, rt, rs, extract32(ctx->opcode, 0, 5),
3884 extract32(ctx->opcode, 6, 5));
3892 switch (((ctx->opcode >> 10) & 2) |
3893 (extract32(ctx->opcode, 5, 1))) {
3896 gen_bitops(ctx, OPC_EXT, rt, rs, extract32(ctx->opcode, 0, 5),
3897 extract32(ctx->opcode, 6, 5));
3915 switch (extract32(ctx->opcode, 1, 1)) {
3919 sextract32(ctx->opcode, 0, 1) << 31 |
3920 extract32(ctx->opcode, 2, 10) << 21 |
3921 extract32(ctx->opcode, 12, 9) << 12);
3926 offset = sextract32(ctx->opcode, 0, 1) << 31 |
3927 extract32(ctx->opcode, 2, 10) << 21 |
3928 extract32(ctx->opcode, 12, 9) << 12;
3938 uint32_t u = extract32(ctx->opcode, 0, 18);
3940 switch (extract32(ctx->opcode, 18, 3)) {
3957 switch (ctx->opcode & 1) {
3968 switch (ctx->opcode & 1) {
3979 switch (ctx->opcode & 0x3) {
4002 uint32_t u = extract32(ctx->opcode, 0, 12);
4004 switch (extract32(ctx->opcode, 12, 4)) {
4062 int32_t s = (sextract32(ctx->opcode, 15, 1) << 8) |
4063 extract32(ctx->opcode, 0, 8);
4065 switch (extract32(ctx->opcode, 8, 3)) {
4067 switch (extract32(ctx->opcode, 11, 4)) {
4123 switch (extract32(ctx->opcode, 11, 4)) {
4133 switch (extract32(ctx->opcode, 11, 4)) {
4148 switch (ctx->opcode & 0x03) {
4154 gen_llwp(ctx, rs, 0, rt, extract32(ctx->opcode, 3, 5));
4162 switch (ctx->opcode & 0x03) {
4168 gen_scwp(ctx, rs, 0, rt, extract32(ctx->opcode, 3, 5),
4188 switch (extract32(ctx->opcode, 11, 4)) {
4253 switch (extract32(ctx->opcode, 2, 2)) {
4264 gen_llwp(ctx, rs, 0, rt, extract32(ctx->opcode, 3, 5));
4272 switch (extract32(ctx->opcode, 2, 2)) {
4283 gen_scwp(ctx, rs, 0, rt, extract32(ctx->opcode, 3, 5),
4300 int count = extract32(ctx->opcode, 12, 3);
4303 offset = sextract32(ctx->opcode, 15, 1) << 8 |
4304 extract32(ctx->opcode, 0, 8);
4307 MemOp memop = (extract32(ctx->opcode, 8, 3)) ==
4317 switch (extract32(ctx->opcode, 11, 1)) {
4348 int32_t s = sextract32(ctx->opcode, 0, 1) << 21 |
4349 extract32(ctx->opcode, 1, 20) << 1;
4350 rd = (extract32(ctx->opcode, 24, 1)) == 0 ? 4 : 5;
4351 rt = decode_gpr_gpr4_zero(extract32(ctx->opcode, 25, 1) << 3 |
4352 extract32(ctx->opcode, 21, 3));
4360 int32_t s = sextract32(ctx->opcode, 0, 1) << 25 |
4361 extract32(ctx->opcode, 1, 24) << 1;
4363 if ((extract32(ctx->opcode, 25, 1)) == 0) {
4373 switch (extract32(ctx->opcode, 12, 4)) {
4388 int32_t s = sextract32(ctx->opcode, 0, 1) << 14 |
4389 extract32(ctx->opcode, 1, 13) << 1;
4390 switch (extract32(ctx->opcode, 14, 2)) {
4396 s = sextract32(ctx->opcode, 0, 1) << 14 |
4397 extract32(ctx->opcode, 1, 13) << 1;
4398 switch (extract32(ctx->opcode, 16, 5)) {
4410 imm = extract32(ctx->opcode, 1, 13)
4411 | extract32(ctx->opcode, 0, 1) << 13;
4443 int32_t s = sextract32(ctx->opcode, 0, 1) << 14 |
4444 extract32(ctx->opcode, 1, 13) << 1;
4445 switch (extract32(ctx->opcode, 14, 2)) {
4479 int32_t s = sextract32(ctx->opcode, 0, 1) << 11 |
4480 extract32(ctx->opcode, 1, 10) << 1;
4481 uint32_t u = extract32(ctx->opcode, 11, 7);
4483 gen_compute_imm_branch(ctx, extract32(ctx->opcode, 18, 3),
4497 int rt = decode_gpr_gpr3(NANOMIPS_EXTRACT_RT3(ctx->opcode));
4498 int rs = decode_gpr_gpr3(NANOMIPS_EXTRACT_RS3(ctx->opcode));
4499 int rd = decode_gpr_gpr3(NANOMIPS_EXTRACT_RD3(ctx->opcode));
4511 op = extract32(ctx->opcode, 10, 6);
4514 rt = NANOMIPS_EXTRACT_RD5(ctx->opcode);
4517 rs = NANOMIPS_EXTRACT_RS5(ctx->opcode);
4521 switch (extract32(ctx->opcode, 3, 2)) {
4523 if (extract32(ctx->opcode, 2, 1) == 0) {
4533 if (is_uhi(ctx, extract32(ctx->opcode, 0, 3))) {
4551 int shift = extract32(ctx->opcode, 0, 3);
4555 switch (extract32(ctx->opcode, 3, 1)) {
4567 switch (ctx->opcode & 1) {
4577 switch (extract32(ctx->opcode, 6, 1)) {
4579 imm = extract32(ctx->opcode, 0, 6) << 2;
4588 switch (extract32(ctx->opcode, 3, 1)) {
4590 imm = extract32(ctx->opcode, 0, 3) << 2;
4594 rt = extract32(ctx->opcode, 5, 5);
4597 imm = (sextract32(ctx->opcode, 4, 1) << 3) |
4598 (extract32(ctx->opcode, 0, 3));
4605 switch (ctx->opcode & 0x1) {
4615 rt = (extract32(ctx->opcode, 9, 1) << 3) |
4616 extract32(ctx->opcode, 5, 3);
4617 rs = (extract32(ctx->opcode, 4, 1) << 3) |
4618 extract32(ctx->opcode, 0, 3);
4621 switch ((extract32(ctx->opcode, 7, 2) & 0x2) |
4622 (extract32(ctx->opcode, 3, 1))) {
4638 imm = extract32(ctx->opcode, 0, 7);
4647 uint32_t u = extract32(ctx->opcode, 0, 4);
4654 offset = extract32(ctx->opcode, 0, 2);
4655 switch (extract32(ctx->opcode, 2, 2)) {
4661 NANOMIPS_EXTRACT_RT3(ctx->opcode));
4673 offset = extract32(ctx->opcode, 1, 2) << 1;
4674 switch ((extract32(ctx->opcode, 3, 1) << 1) | (ctx->opcode & 1)) {
4680 NANOMIPS_EXTRACT_RT3(ctx->opcode));
4692 offset = extract32(ctx->opcode, 0, 4) << 2;
4696 rt = NANOMIPS_EXTRACT_RD5(ctx->opcode);
4697 offset = extract32(ctx->opcode, 0, 5) << 2;
4702 rt = (extract32(ctx->opcode, 9, 1) << 3) |
4703 extract32(ctx->opcode, 5, 3);
4704 rs = (extract32(ctx->opcode, 4, 1) << 3) |
4705 extract32(ctx->opcode, 0, 3);
4706 offset = (extract32(ctx->opcode, 3, 1) << 3) |
4707 (extract32(ctx->opcode, 8, 1) << 2);
4714 rt = (extract32(ctx->opcode, 9, 1) << 3) |
4715 extract32(ctx->opcode, 5, 3);
4716 rs = (extract32(ctx->opcode, 4, 1) << 3) |
4717 extract32(ctx->opcode, 0, 3);
4718 offset = (extract32(ctx->opcode, 3, 1) << 3) |
4719 (extract32(ctx->opcode, 8, 1) << 2);
4725 offset = extract32(ctx->opcode, 0, 7) << 2;
4729 rt = NANOMIPS_EXTRACT_RD5(ctx->opcode);
4730 offset = extract32(ctx->opcode, 0, 5) << 2;
4735 NANOMIPS_EXTRACT_RT3(ctx->opcode));
4736 rs = decode_gpr_gpr3(NANOMIPS_EXTRACT_RS3(ctx->opcode));
4737 offset = extract32(ctx->opcode, 0, 4) << 2;
4742 NANOMIPS_EXTRACT_RT3(ctx->opcode));
4743 offset = extract32(ctx->opcode, 0, 7) << 2;
4748 (sextract32(ctx->opcode, 0, 1) << 10) |
4749 (extract32(ctx->opcode, 1, 9) << 1));
4753 (sextract32(ctx->opcode, 0, 1) << 10) |
4754 (extract32(ctx->opcode, 1, 9) << 1));
4758 (sextract32(ctx->opcode, 0, 1) << 7) |
4759 (extract32(ctx->opcode, 1, 6) << 1));
4763 (sextract32(ctx->opcode, 0, 1) << 7) |
4764 (extract32(ctx->opcode, 1, 6) << 1));
4767 switch (ctx->opcode & 0xf) {
4770 switch (extract32(ctx->opcode, 4, 1)) {
4773 extract32(ctx->opcode, 5, 5), 0, 0);
4777 extract32(ctx->opcode, 5, 5), 31, 0);
4784 uint32_t opc = extract32(ctx->opcode, 4, 3) <
4785 extract32(ctx->opcode, 7, 3) ? OPC_BEQ : OPC_BNE;
4787 extract32(ctx->opcode, 0, 4) << 1);
4794 int count = extract32(ctx->opcode, 0, 4);
4795 int u = extract32(ctx->opcode, 4, 4) << 4;
4797 rt = 30 + extract32(ctx->opcode, 9, 1);
4798 switch (extract32(ctx->opcode, 8, 1)) {
4816 int rd2 = extract32(ctx->opcode, 3, 1) << 1 |
4817 extract32(ctx->opcode, 8, 1);
4820 int r3 = extract32(ctx->opcode, 4, 1) << 3 |
4821 extract32(ctx->opcode, 0, 3);
4822 int r4 = extract32(ctx->opcode, 9, 1) << 3 |
4823 extract32(ctx->opcode, 5, 3);