typedef struct Dis_info {
img_address m_pc;
+ fprintf_function fprintf_func;
+ FILE *stream;
+ sigjmp_buf buf;
} Dis_info;
typedef bool (*conditional_function)(uint64 instruction);
static uint64 renumber_registers(uint64 index, uint64 *register_list,
- size_t register_list_size)
+ size_t register_list_size, Dis_info *info)
{
if (index < register_list_size) {
return register_list[index];
* - MUL[4X4]
* - SW[4X4]
*/
-static uint64 decode_gpr_gpr4(uint64 d)
+static uint64 decode_gpr_gpr4(uint64 d, Dis_info *info)
{
static uint64 register_list[] = { 8, 9, 10, 11, 4, 5, 6, 7,
16, 17, 18, 19, 20, 21, 22, 23 };
return renumber_registers(d, register_list,
- sizeof(register_list) / sizeof(register_list[0]));
+ sizeof(register_list) / sizeof(register_list[0]), info);
}
* - MOVEP
* - SW[4X4]
*/
-static uint64 decode_gpr_gpr4_zero(uint64 d)
+static uint64 decode_gpr_gpr4_zero(uint64 d, Dis_info *info)
{
static uint64 register_list[] = { 8, 9, 10, 0, 4, 5, 6, 7,
16, 17, 18, 19, 20, 21, 22, 23 };
return renumber_registers(d, register_list,
- sizeof(register_list) / sizeof(register_list[0]));
+ sizeof(register_list) / sizeof(register_list[0]), info);
}
* - SW[16]
* - XOR[16]
*/
-static uint64 decode_gpr_gpr3(uint64 d)
+static uint64 decode_gpr_gpr3(uint64 d, Dis_info *info)
{
static uint64 register_list[] = { 16, 17, 18, 19, 4, 5, 6, 7 };
return renumber_registers(d, register_list,
- sizeof(register_list) / sizeof(register_list[0]));
+ sizeof(register_list) / sizeof(register_list[0]), info);
}
* - SW[16]
* - SW[GP16]
*/
-static uint64 decode_gpr_gpr3_src_store(uint64 d)
+static uint64 decode_gpr_gpr3_src_store(uint64 d, Dis_info *info)
{
static uint64 register_list[] = { 0, 17, 18, 19, 4, 5, 6, 7 };
return renumber_registers(d, register_list,
- sizeof(register_list) / sizeof(register_list[0]));
+ sizeof(register_list) / sizeof(register_list[0]), info);
}
* - MOVEP
* - MOVEP[REV]
*/
-static uint64 decode_gpr_gpr2_reg1(uint64 d)
+static uint64 decode_gpr_gpr2_reg1(uint64 d, Dis_info *info)
{
static uint64 register_list[] = { 4, 5, 6, 7 };
return renumber_registers(d, register_list,
- sizeof(register_list) / sizeof(register_list[0]));
+ sizeof(register_list) / sizeof(register_list[0]), info);
}
* - MOVEP
* - MOVEP[REV]
*/
-static uint64 decode_gpr_gpr2_reg2(uint64 d)
+static uint64 decode_gpr_gpr2_reg2(uint64 d, Dis_info *info)
{
static uint64 register_list[] = { 5, 6, 7, 8 };
return renumber_registers(d, register_list,
- sizeof(register_list) / sizeof(register_list[0]));
+ sizeof(register_list) / sizeof(register_list[0]), info);
}
*
* - MOVE.BALC
*/
-static uint64 decode_gpr_gpr1(uint64 d)
+static uint64 decode_gpr_gpr1(uint64 d, Dis_info *info)
{
static uint64 register_list[] = { 4, 5 };
return renumber_registers(d, register_list,
- sizeof(register_list) / sizeof(register_list[0]));
+ sizeof(register_list) / sizeof(register_list[0]), info);
}
}
-static const char *GPR(uint64 reg)
+static const char *GPR(uint64 reg, Dis_info *info)
{
static const char *gpr_reg[32] = {
"zero", "at", "v0", "v1", "a0", "a1", "a2", "a3",
}
-static char *save_restore_list(uint64 rt, uint64 count, uint64 gp)
+static char *save_restore_list(uint64 rt, uint64 count, uint64 gp,
+ Dis_info *info)
{
char *reg_list[34];
reg_list[0] = (char *)"";
bool use_gp = gp && (counter == count - 1);
uint64 this_rt = use_gp ? 28 : ((rt & 0x10) | (rt + counter)) & 0x1f;
/* glib usage below requires casting away const */
- reg_list[counter + 1] = (char *)GPR(this_rt);
+ reg_list[counter + 1] = (char *)GPR(this_rt, info);
}
reg_list[count + 1] = NULL;
}
-static const char *FPR(uint64 reg)
+static const char *FPR(uint64 reg, Dis_info *info)
{
static const char *fpr_reg[32] = {
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
}
-static const char *AC(uint64 reg)
+static const char *AC(uint64 reg, Dis_info *info)
{
static const char *ac_reg[4] = {
"ac0", "ac1", "ac2", "ac3"
uint64 fd_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *fs = FPR(fs_value);
- const char *fd = FPR(fd_value);
+ const char *fs = FPR(fs_value, info);
+ const char *fd = FPR(fd_value, info);
return img_format("ABS.D %s, %s", fd, fs);
}
uint64 fd_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *fs = FPR(fs_value);
- const char *fd = FPR(fd_value);
+ const char *fs = FPR(fs_value, info);
+ const char *fd = FPR(fd_value, info);
return img_format("ABS.S %s, %s", fd, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("ABSQ_S.PH %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("ABSQ_S.QB %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("ABSQ_S.W %s, %s", rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("ACLR 0x%" PRIx64 ", %" PRId64 "(%s)",
bit_value, s_value, rs);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADD %s, %s, %s", rd, rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
- const char *fd = FPR(fd_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *fd = FPR(fd_value, info);
return img_format("ADD.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
- const char *fd = FPR(fd_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *fd = FPR(fd_value, info);
return img_format("ADD.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_15_to_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("ADDIU %s, %s, 0x%" PRIx64, rt, rs, u_value);
}
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDIU %s, %" PRId64, rt, s_value);
}
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDIU %s, $%d, %" PRId64, rt, 28, s_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_0(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt, 28, u_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_2__s2(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt, 28, u_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
int64 u = neg_copy(u_value);
return img_format("ADDIU %s, %s, %" PRId64, rt, rs, u);
uint64 u_value = extract_u_5_4_3_2_1_0__s2(instruction);
uint64 rt3_value = extract_rt3_9_8_7(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
return img_format("ADDIU %s, $%d, 0x%" PRIx64, rt3, 29, u_value);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_2_1_0__s2(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("ADDIU %s, %s, 0x%" PRIx64, rt3, rs3, u_value);
}
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
int64 s_value = extract_s__se3_4_2_1_0(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDIU %s, %" PRId64, rt, s_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se21_0_20_to_1_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("ADDIUPC %s, %s", rt, s);
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 6, info);
return img_format("ADDIUPC %s, %s", rt, s);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDQ.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDQ_S.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDQ_S.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDQH.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDQH_R.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDQH_R.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDQH.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDSC %s, %s, %s", rd, rs, rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 rd3_value = extract_rd3_3_2_1(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
- const char *rd3 = GPR(decode_gpr_gpr3(rd3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
+ const char *rd3 = GPR(decode_gpr_gpr3(rd3_value, info), info);
return img_format("ADDU %s, %s, %s", rd3, rs3, rt3);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDU %s, %s, %s", rd, rs, rt);
}
uint64 rt4_value = extract_rt4_9_7_6_5(instruction);
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
- const char *rs4 = GPR(decode_gpr_gpr4(rs4_value));
- const char *rt4 = GPR(decode_gpr_gpr4(rt4_value));
+ const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info);
+ const char *rt4 = GPR(decode_gpr_gpr4(rt4_value, info), info);
return img_format("ADDU %s, %s", rs4, rt4);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDU.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDU.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDU_S.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDU_S.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDUH.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDUH_R.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ADDWC %s, %s, %s", rd, rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("ALUIPC %s, %%pcrel_hi(%s)", rt, s);
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("AND %s, %s", rs3, rt3);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("AND %s, %s, %s", rd, rs, rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 eu_value = extract_eu_3_2_1_0(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
uint64 eu = encode_eu_from_u_andi16(eu_value);
return img_format("ANDI %s, %s, 0x%" PRIx64, rt3, rs3, eu);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("ANDI %s, %s, 0x%" PRIx64, rt, rs, u_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("APPEND %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("ASET 0x%" PRIx64 ", %" PRId64 "(%s)",
bit_value, s_value, rs);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("BALRSC %s, %s", rt, rs);
}
uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction);
int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BBEQZC %s, 0x%" PRIx64 ", %s", rt, bit_value, s);
uint64 bit_value = extract_bit_16_15_14_13_12_11(instruction);
int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BBNEZC %s, 0x%" PRIx64 ", %s", rt, bit_value, s);
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- const char *ft = FPR(ft_value);
+ const char *ft = FPR(ft_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BC1EQZC %s, %s", ft, s);
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- const char *ft = FPR(ft_value);
+ const char *ft = FPR(ft_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BC1NEZC %s, %s", ft, s);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_3_2_1_0__s1(instruction);
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
g_autofree char *u = ADDRESS(u_value, 2, info);
return img_format("BEQC %s, %s, %s", rs3, rt3, u);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BEQC %s, %s, %s", rs, rt, s);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BEQIC %s, 0x%" PRIx64 ", %s", rt, u_value, s);
uint64 rt3_value = extract_rt3_9_8_7(instruction);
int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
g_autofree char *s = ADDRESS(s_value, 2, info);
return img_format("BEQZC %s, %s", rt3, s);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BGEC %s, %s, %s", rs, rt, s);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BGEIC %s, 0x%" PRIx64 ", %s", rt, u_value, s);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BGEIUC %s, 0x%" PRIx64 ", %s", rt, u_value, s);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BGEUC %s, %s, %s", rs, rt, s);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BLTC %s, %s, %s", rs, rt, s);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BLTIC %s, 0x%" PRIx64 ", %s", rt, u_value, s);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BLTIUC %s, 0x%" PRIx64 ", %s", rt, u_value, s);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BLTUC %s, %s, %s", rs, rt, s);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_3_2_1_0__s1(instruction);
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
g_autofree char *u = ADDRESS(u_value, 2, info);
return img_format("BNEC %s, %s, %s", rs3, rt3, u);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se14_0_13_to_1_s1(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BNEC %s, %s, %s", rs, rt, s);
uint64 u_value = extract_u_17_16_15_14_13_12_11(instruction);
int64 s_value = extract_s__se11_0_10_9_8_7_6_5_4_3_2_1_0_s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("BNEIC %s, 0x%" PRIx64 ", %s", rt, u_value, s);
uint64 rt3_value = extract_rt3_9_8_7(instruction);
int64 s_value = extract_s__se7_0_6_5_4_3_2_1_s1(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
g_autofree char *s = ADDRESS(s_value, 2, info);
return img_format("BNEZC %s, %s", rt3, s);
{
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("BRSC %s", rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("CACHE 0x%" PRIx64 ", %s(%s)", op_value, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("CACHEE 0x%" PRIx64 ", %s(%s)", op_value, s_value, rs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CEIL.L.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CEIL.L.S %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CEIL.W.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CEIL.W.S %s, %s", ft, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("CFC1 %s, CP%" PRIu64, rt, cs_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("CFC2 %s, CP%" PRIu64, rt, cs_value);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CLASS.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CLASS.S %s, %s", ft, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("CLO %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("CLZ %s, %s", rt, rs);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.AF.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.AF.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.EQ.D %s, %s, %s", fd, fs, ft);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMP.EQ.PH %s, %s", rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.EQ.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.LE.D %s, %s, %s", fd, fs, ft);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMP.LE.PH %s, %s", rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.LE.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.LT.D %s, %s, %s", fd, fs, ft);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMP.LT.PH %s, %s", rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.LT.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.NE.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.NE.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.OR.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.OR.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SAF.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SAF.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SEQ.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SEQ.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SLE.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SLE.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SLT.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SLT.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SNE.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SNE.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SOR.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SOR.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SUEQ.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SUEQ.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SULE.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SULE.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SULT.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SULT.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SUN.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SUNE.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SUNE.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.SUN.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.UEQ.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.UEQ.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.ULE.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.ULE.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.ULT.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.ULT.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.UN.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.UNE.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.UNE.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("CMP.UN.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPGDU.EQ.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPGDU.LE.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPGDU.LT.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPGU.EQ.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPGU.LE.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPGU.LT.QB %s, %s, %s", rd, rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPU.EQ.QB %s, %s", rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPU.LE.QB %s, %s", rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("CMPU.LT.QB %s, %s", rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("CTC1 %s, CP%" PRIu64, rt, cs_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("CTC2 %s, CP%" PRIu64, rt, cs_value);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.D.L %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.D.S %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.D.W %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.L.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.L.S %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.S.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.S.L %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.S.PL %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.S.PU %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.S.W %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.W.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("CVT.W.S %s, %s", ft, fs);
}
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DADDIU %s, %s", rt, s_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
int64 u = neg_copy(u_value);
return img_format("DADDIU %s, %s, %" PRId64, rt, rs, u);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DADDIU %s, %s, 0x%" PRIx64, rt, rs, u_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DADD %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DADDU %s, %s, %s", rd, rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DCLO %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DCLZ %s, %s", rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DDIV %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DDIVU %s, %s, %s", rd, rs, rt);
}
uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction);
uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 msbd = encode_msbd_from_size(msbd_value);
return img_format("DEXTM %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction);
uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 msbd = encode_msbd_from_size(msbd_value);
return img_format("DEXT %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction);
uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 msbd = encode_msbd_from_size(msbd_value);
return img_format("DEXTU %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction);
uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
/* !!!!!!!!!! - no conversion function */
return img_format("DINSM %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction);
uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
/* !!!!!!!!!! - no conversion function */
return img_format("DINS %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction);
uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
/* !!!!!!!!!! - no conversion function */
return img_format("DINSU %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DI %s", rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DIV %s, %s, %s", rd, rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("DIV.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("DIV.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DIVU %s, %s, %s", rd, rs, rt);
}
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
uint64 u2_value = extract_u2_10_9(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DLSA %s, %s, %s, 0x%" PRIx64, rd, rs, rt, u2_value);
}
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
uint64 u_value = extract_u_31_to_0__s32(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DLUI %s, 0x%" PRIx64, rt, u_value);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DMFC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *fs = FPR(fs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("DMFC1 %s, %s", rt, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DMFC2 %s, CP%" PRIu64, rt, cs_value);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DMFGC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DMOD %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DMODU %s, %s, %s", rd, rs, rt);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DMTC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *fs = FPR(fs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("DMTC1 %s, %s", rt, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DMTC2 %s, CP%" PRIu64, rt, cs_value);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DMTGC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DMT %s", rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DMUH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DMUHU %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DMUL %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DMULU %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPA.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPAQ_SA.L.W %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPAQ_S.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPAQX_SA.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPAQX_S.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPAU.H.QBL %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPAU.H.QBR %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPAX.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPS.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPSQ_SA.L.W %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPSQ_S.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPSQX_SA.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPSQX_S.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPSU.H.QBL %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPSU.H.QBR %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DPSX.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DROTR %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DROTR32 %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DROTRV %s, %s, %s", rd, rs, rt);
}
uint64 shiftx_value = extract_shiftx_11_10_9_8_7_6(instruction);
uint64 shift_value = extract_shift_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DROTX %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
rt, rs, shift_value, shiftx_value);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DSLL %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DSLL32 %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DSLLV %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DSRA %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DSRA32 %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DSRAV %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DSRL %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("DSRL32 %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DSRLV %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DSUB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("DSUBU %s, %s, %s", rd, rs, rt);
}
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DVPE %s", rt);
}
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("DVP %s", rt);
}
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("EI %s", rt);
}
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("EMT %s", rt);
}
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("EVP %s", rt);
}
{
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("EVPE %s", rt);
}
uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction);
uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 msbd = encode_msbd_from_size(msbd_value);
return img_format("EXT %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
uint64 shift_value = extract_shift_10_9_8_7_6(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("EXTD %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value);
}
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
uint64 shift_value = extract_shift_10_9_8_7_6(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("EXTD32 %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value);
}
uint64 size_value = extract_size_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("EXTPDP %s, %s, 0x%" PRIx64, rt, ac, size_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("EXTPDPV %s, %s, %s", rt, ac, rs);
}
uint64 size_value = extract_size_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("EXTP %s, %s, 0x%" PRIx64, rt, ac, size_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("EXTPV %s, %s, %s", rt, ac, rs);
}
uint64 shift_value = extract_shift_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("EXTR_RS.W %s, %s, 0x%" PRIx64, rt, ac, shift_value);
}
uint64 shift_value = extract_shift_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("EXTR_R.W %s, %s, 0x%" PRIx64, rt, ac, shift_value);
}
uint64 shift_value = extract_shift_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("EXTR_S.H %s, %s, 0x%" PRIx64, rt, ac, shift_value);
}
uint64 shift_value = extract_shift_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("EXTR.W %s, %s, 0x%" PRIx64, rt, ac, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("EXTRV_RS.W %s, %s, %s", rt, ac, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("EXTRV_R.W %s, %s, %s", rt, ac, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("EXTRV_S.H %s, %s, %s", rt, ac, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("EXTRV.W %s, %s, %s", rt, ac, rs);
}
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
uint64 shift_value = extract_shift_10_9_8_7_6(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("EXTW %s, %s, %s, 0x%" PRIx64, rd, rs, rt, shift_value);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("FLOOR.L.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("FLOOR.L.S %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("FLOOR.W.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("FLOOR.W.S %s, %s", ft, fs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("FORK %s, %s, %s", rd, rs, rt);
}
uint64 msbd_value = extract_msbt_10_9_8_7_6(instruction);
uint64 lsb_value = extract_lsb_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
/* !!!!!!!!!! - no conversion function */
return img_format("INS %s, %s, 0x%" PRIx64 ", 0x%" PRIx64,
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("INSV %s, %s", rt, rs);
}
{
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("JALRC $%d, %s", 31, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("JALRC %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("JALRC.HB %s, %s", rt, rs);
}
{
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("JRC %s", rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_1_0(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("LB %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_0(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LB %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LB %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LB %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LBE %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_1_0(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("LBU %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_0(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LBU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LBU %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LBU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LBUE %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LBUX %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LBX %s, %s(%s)", rd, rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_3__s3(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LD %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LD %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LD %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
- const char *ft = FPR(ft_value);
+ const char *ft = FPR(ft_value, info);
return img_format("LDC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LDC1 %s, %" PRId64 "(%s)", ft, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LDC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ft_value = extract_ft_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LDC1XS %s, %s(%s)", ft, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ft_value = extract_ft_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LDC1X %s, %s(%s)", ft, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("LDC2 CP%" PRIu64 ", %" PRId64 "(%s)",
ct_value, s_value, rs);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 count3_value = extract_count3_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 count3 = encode_count3_from_count(count3_value);
return img_format("LDM %s, %" PRId64 "(%s), 0x%" PRIx64,
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 6, info);
return img_format("LDPC %s, %s", rt, s);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LDX %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LDXS %s, %s(%s)", rd, rs, rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_2_1__s1(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("LH %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_1__s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LH %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LH %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LH %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LHE %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_2_1__s1(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("LHU %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_1__s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LHU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LHU %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LHU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LHUE %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LHUX %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LHUXS %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LHXS %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LHX %s, %s(%s)", rd, rs, rt);
}
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 eu_value = extract_eu_6_5_4_3_2_1_0(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
int64 eu = encode_eu_from_s_li16(eu_value);
return img_format("LI %s, %" PRId64, rt3, eu);
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LI %s, %" PRId64, rt, s_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LL %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LLD %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ru_value = extract_ru_7_6_5_4_3(instruction);
- const char *rt = GPR(rt_value);
- const char *ru = GPR(ru_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ru = GPR(ru_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LLDP %s, %s, (%s)", rt, ru, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LLE %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ru_value = extract_ru_7_6_5_4_3(instruction);
- const char *rt = GPR(rt_value);
- const char *ru = GPR(ru_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ru = GPR(ru_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LLWP %s, %s, (%s)", rt, ru, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ru_value = extract_ru_7_6_5_4_3(instruction);
- const char *rt = GPR(rt_value);
- const char *ru = GPR(ru_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ru = GPR(ru_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LLWPE %s, %s, (%s)", rt, ru, rs);
}
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
uint64 u2_value = extract_u2_10_9(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LSA %s, %s, %s, 0x%" PRIx64, rd, rs, rt, u2_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se31_0_11_to_2_20_to_12_s12(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LUI %s, %%hi(%" PRId64 ")", rt, s_value);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_3_2_1_0__s2(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("LW %s, 0x%" PRIx64 "(%s)", rt3, u_value, rs3);
}
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
uint64 u_value = extract_u_3_8__s2(instruction);
- const char *rt4 = GPR(decode_gpr_gpr4(rt4_value));
- const char *rs4 = GPR(decode_gpr_gpr4(rs4_value));
+ const char *rt4 = GPR(decode_gpr_gpr4(rt4_value, info), info);
+ const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info);
return img_format("LW %s, 0x%" PRIx64 "(%s)", rt4, u_value, rs4);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_2__s2(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LW %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
return img_format("LW %s, 0x%" PRIx64 "($%d)", rt3, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LW %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
uint64 u_value = extract_u_4_3_2_1_0__s2(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LW %s, 0x%" PRIx64 "($%d)", rt, u_value, 29);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LW %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
- const char *ft = FPR(ft_value);
+ const char *ft = FPR(ft_value, info);
return img_format("LWC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LWC1 %s, %" PRId64 "(%s)", ft, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LWC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ft_value = extract_ft_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LWC1X %s, %s(%s)", ft, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ft_value = extract_ft_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LWC1XS %s, %s(%s)", ft, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("LWC2 CP%" PRIu64 ", %" PRId64 "(%s)",
ct_value, s_value, rs);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LWE %s, %" PRId64 "(%s)", rt, s_value, rs);
}
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 count3_value = extract_count3_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 count3 = encode_count3_from_count(count3_value);
return img_format("LWM %s, %" PRId64 "(%s), 0x%" PRIx64,
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 6, info);
return img_format("LWPC %s, %s", rt, s);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("LWU %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LWU %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("LWU %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LWUX %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LWUXS %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LWX %s, %s(%s)", rd, rs, rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 rd3_value = extract_rd3_3_2_1(instruction);
- const char *rd3 = GPR(decode_gpr_gpr3(rd3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
- uint64 rt3 = decode_gpr_gpr3(rt3_value);
+ const char *rd3 = GPR(decode_gpr_gpr3(rd3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
+ uint64 rt3 = decode_gpr_gpr3(rt3_value, info);
return img_format("LWXS %s, %s(0x%" PRIx64 ")", rd3, rs3, rt3);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("LWXS %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MADD %s, %s, %s", ac, rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MADDF.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MADDF.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MADDU %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MAQ_S.W.PHL %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MAQ_S.W.PHR %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MAQ_SA.W.PHL %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MAQ_SA.W.PHR %s, %s, %s", ac, rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MAX.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MAX.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MAXA.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MAXA.S %s, %s, %s", fd, fs, ft);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MFC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *fs = FPR(fs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("MFC1 %s, %s", rt, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MFC2 %s, CP%" PRIu64, rt, cs_value);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MFGC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MFHC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *fs = FPR(fs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("MFHC1 %s, %s", rt, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MFHC2 %s, CP%" PRIu64, rt, cs_value);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MFHGC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("MFHI %s, %s", rt, ac);
}
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
uint64 u_value = extract_u_10(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MFHTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64,
rt, c0s_value, u_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rt = GPR(rt_value);
- const char *ac = AC(ac_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("MFLO %s, %s", rt, ac);
}
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
uint64 u_value = extract_u_10(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MFTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64,
rt, c0s_value, u_value, sel_value);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MIN.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MIN.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MINA.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MINA.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MOD %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MODSUB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MODU %s, %s, %s", rd, rs, rt);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("MOV.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("MOV.S %s, %s", ft, fs);
}
uint64 rd1_value = extract_rdl_25_24(instruction);
int64 s_value = extract_s__se21_0_20_to_1_s1(instruction);
- const char *rd1 = GPR(decode_gpr_gpr1(rd1_value));
- const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value));
+ const char *rd1 = GPR(decode_gpr_gpr1(rd1_value, info), info);
+ const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value, info), info);
g_autofree char *s = ADDRESS(s_value, 4, info);
return img_format("MOVE.BALC %s, %s, %s", rd1, rtz4, s);
uint64 rd2_value = extract_rd2_3_8(instruction);
uint64 rsz4_value = extract_rsz4_4_2_1_0(instruction);
- const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value));
- const char *re2 = GPR(decode_gpr_gpr2_reg2(rd2_value));
+ const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value, info), info);
+ const char *re2 = GPR(decode_gpr_gpr2_reg2(rd2_value, info), info);
/* !!!!!!!!!! - no conversion function */
- const char *rsz4 = GPR(decode_gpr_gpr4_zero(rsz4_value));
- const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value));
+ const char *rsz4 = GPR(decode_gpr_gpr4_zero(rsz4_value, info), info);
+ const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value, info), info);
return img_format("MOVEP %s, %s, %s, %s", rd2, re2, rsz4, rtz4);
/* hand edited */
uint64 rd2_value = extract_rd2_3_8(instruction);
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
- const char *rs4 = GPR(decode_gpr_gpr4(rs4_value));
- const char *rt4 = GPR(decode_gpr_gpr4(rt4_value));
- const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value));
- const char *rs2 = GPR(decode_gpr_gpr2_reg2(rd2_value));
+ const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info);
+ const char *rt4 = GPR(decode_gpr_gpr4(rt4_value, info), info);
+ const char *rd2 = GPR(decode_gpr_gpr2_reg1(rd2_value, info), info);
+ const char *rs2 = GPR(decode_gpr_gpr2_reg2(rd2_value, info), info);
/* !!!!!!!!!! - no conversion function */
return img_format("MOVEP %s, %s, %s, %s", rs4, rt4, rd2, rs2);
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
uint64 rs_value = extract_rs_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("MOVE %s, %s", rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MOVN %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MOVZ %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MSUB %s, %s, %s", ac, rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MSUBF.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MSUBF.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MSUBU %s, %s, %s", ac, rs, rt);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MTC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *fs = FPR(fs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("MTC1 %s, %s", rt, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MTC2 %s, CP%" PRIu64, rt, cs_value);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MTGC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MTHC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *fs = FPR(fs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("MTHC1 %s, %s", rt, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 cs_value = extract_cs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MTHC2 %s, CP%" PRIu64, rt, cs_value);
}
uint64 c0s_value = extract_c0s_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MTHGC0 %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, c0s_value, sel_value);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rs = GPR(rs_value);
- const char *ac = AC(ac_value);
+ const char *rs = GPR(rs_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("MTHI %s, %s", rs, ac);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rs = GPR(rs_value);
- const char *ac = AC(ac_value);
+ const char *rs = GPR(rs_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("MTHLIP %s, %s", rs, ac);
}
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
uint64 u_value = extract_u_10(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MTHTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64,
rt, c0s_value, u_value, sel_value);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rs = GPR(rs_value);
- const char *ac = AC(ac_value);
+ const char *rs = GPR(rs_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("MTLO %s, %s", rs, ac);
}
uint64 sel_value = extract_sel_15_14_13_12_11(instruction);
uint64 u_value = extract_u_10(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("MTTR %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64,
rt, c0s_value, u_value, sel_value);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MUH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MUHU %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MUL %s, %s, %s", rd, rs, rt);
}
uint64 rt4_value = extract_rt4_9_7_6_5(instruction);
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
- const char *rs4 = GPR(decode_gpr_gpr4(rs4_value));
- const char *rt4 = GPR(decode_gpr_gpr4(rt4_value));
+ const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info);
+ const char *rt4 = GPR(decode_gpr_gpr4(rt4_value, info), info);
return img_format("MUL %s, %s", rs4, rt4);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MUL.D %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MUL.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MUL_S.PH %s, %s, %s", rd, rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("MUL.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULEQ_S.W.PHL %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULEQ_S.W.PHR %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULEU_S.PH.QBL %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULEU_S.PH.QBR %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULQ_RS.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULQ_RS.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULQ_S.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULQ_S.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULSA.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULSAQ_S.W.PH %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULT %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ac = AC(ac_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULTU %s, %s, %s", ac, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("MULU %s, %s, %s", rd, rs, rt);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("NEG.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("NEG.S %s, %s", ft, fs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("NOR %s, %s, %s", rd, rs, rt);
}
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("NOT %s, %s", rt3, rs3);
}
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
return img_format("OR %s, %s", rs3, rt3);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("OR %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("ORI %s, %s, 0x%" PRIx64, rt, rs, u_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("PACKRL.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("PICK.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("PICK.QB %s, %s, %s", rd, rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEQ.W.PHL %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEQ.W.PHR %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEQU.PH.QBLA %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEQU.PH.QBL %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEQU.PH.QBRA %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEQU.PH.QBR %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEU.PH.QBLA %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEU.PH.QBL %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEU.PH.QBRA %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECEU.PH.QBR %s, %s", rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("PRECR.QB.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECR_SRA.PH.W %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PRECR_SRA_R.PH.W %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("PRECRQ.PH.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("PRECRQ.QB.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("PRECRQ_RS.PH.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("PRECRQU_S.QB.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("PREF 0x%" PRIx64 ", %s(%s)",
hint_value, s_value, rs);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("PREF 0x%" PRIx64 ", 0x%" PRIx64 "(%s)",
hint_value, u_value, rs);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("PREFE 0x%" PRIx64 ", %s(%s)", hint_value, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("PREPEND %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("RADDU.W.QB %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("RDDSP %s, 0x%" PRIx64, rt, mask_value);
}
uint64 hs_value = extract_hs_20_19_18_17_16(instruction);
uint64 sel_value = extract_sel_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("RDHWR %s, CP%" PRIu64 ", 0x%" PRIx64,
rt, hs_value, sel_value);
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("RDPGPR %s, %s", rt, rs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("RECIP.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("RECIP.S %s, %s", ft, fs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
int64 s_value = extract_s__se9_20_19_18_17_16_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("REPL.PH %s, %s", rt, s_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_19_18_17_16_15_14_13(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("REPL.QB %s, 0x%" PRIx64, rt, u_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("REPLV.PH %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("REPLV.QB %s, %s", rt, rs);
}
uint64 gp_value = extract_gp_2(instruction);
g_autofree char *save_restore_str = save_restore_list(
- rt_value, count_value, gp_value);
+ rt_value, count_value, gp_value, info);
return img_format("RESTORE 0x%" PRIx64 "%s", u_value, save_restore_str);
}
uint64 count_value = extract_count_3_2_1_0(instruction);
g_autofree char *save_restore_str = save_restore_list(
- encode_rt1_from_rt(rt1_value), count_value, 0);
+ encode_rt1_from_rt(rt1_value), count_value, 0, info);
return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value, save_restore_str);
}
uint64 gp_value = extract_gp_2(instruction);
g_autofree char *save_restore_str = save_restore_list(
- rt_value, count_value, gp_value);
+ rt_value, count_value, gp_value, info);
return img_format("RESTORE.JRC 0x%" PRIx64 "%s", u_value,
save_restore_str);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("RINT.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("RINT.S %s, %s", ft, fs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("ROTR %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("ROTRV %s, %s, %s", rd, rs, rt);
}
uint64 stripe_value = extract_stripe_6(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("ROTX %s, %s, 0x%" PRIx64 ", 0x%" PRIx64 ", 0x%" PRIx64,
rt, rs, shift_value, shiftx_value, stripe_value);
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("ROUND.L.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("ROUND.L.S %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("ROUND.W.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("ROUND.W.S %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("RSQRT.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("RSQRT.S %s, %s", ft, fs);
}
uint64 count_value = extract_count_3_2_1_0(instruction);
g_autofree char *save_restore_str = save_restore_list(
- encode_rt1_from_rt(rt1_value), count_value, 0);
+ encode_rt1_from_rt(rt1_value), count_value, 0, info);
return img_format("SAVE 0x%" PRIx64 "%s", u_value, save_restore_str);
}
uint64 gp_value = extract_gp_2(instruction);
g_autofree char *save_restore_str = save_restore_list(
- rt_value, count_value, gp_value);
+ rt_value, count_value, gp_value, info);
return img_format("SAVE 0x%" PRIx64 "%s", u_value, save_restore_str);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_1_0(instruction);
- const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("SB %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_0(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("SB %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SB %s, %s(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SB %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SBE %s, %s(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SBX %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SC %s, %s(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_s3(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SCD %s, %s(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ru_value = extract_ru_7_6_5_4_3(instruction);
- const char *rt = GPR(rt_value);
- const char *ru = GPR(ru_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ru = GPR(ru_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SCDP %s, %s, (%s)", rt, ru, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_s2(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SCE %s, %s(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ru_value = extract_ru_7_6_5_4_3(instruction);
- const char *rt = GPR(rt_value);
- const char *ru = GPR(ru_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ru = GPR(ru_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SCWP %s, %s, (%s)", rt, ru, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ru_value = extract_ru_7_6_5_4_3(instruction);
- const char *rt = GPR(rt_value);
- const char *ru = GPR(ru_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *ru = GPR(ru_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SCWPE %s, %s, (%s)", rt, ru, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_3__s3(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("SD %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SD %s, %s(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SD %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
- const char *ft = FPR(ft_value);
+ const char *ft = FPR(ft_value, info);
return img_format("SDC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SDC1 %s, %s(%s)", ft, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SDC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ft_value = extract_ft_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SDC1X %s, %s(%s)", ft, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ft_value = extract_ft_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SDC1XS %s, %s(%s)", ft, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("SDC2 CP%" PRIu64 ", %s(%s)", cs_value, s_value, rs);
}
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 count3_value = extract_count3_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 count3 = encode_count3_from_count(count3_value);
return img_format("SDM %s, %s(%s), 0x%" PRIx64, rt, s_value, rs, count3);
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 6, info);
return img_format("SDPC %s, %s", rt, s);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SDXS %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SDX %s, %s(%s)", rd, rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SEB %s, %s", rt, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SEH %s, %s", rt, rs);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("SEL.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("SEL.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("SELEQZ.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("SELEQZ.S %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("SELNEZ.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("SELNEZ.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SEQI %s, %s, 0x%" PRIx64, rt, rs, u_value);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_2_1__s1(instruction);
- const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("SH %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_1__s1(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("SH %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SH %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SH %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHE %s, %" PRId64 "(%s)", rt, s_value, rs);
}
int64 shift_value = extract_shift__se5_21_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *ac = AC(ac_value);
+ const char *ac = AC(ac_value, info);
return img_format("SHILO %s, 0x%" PRIx64, ac, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ac_value = extract_ac_15_14(instruction);
- const char *rs = GPR(rs_value);
- const char *ac = AC(ac_value);
+ const char *rs = GPR(rs_value, info);
+ const char *ac = AC(ac_value, info);
return img_format("SHILOV %s, %s", ac, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHLL.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHLL.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHLL_S.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHLL_S.W %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHLLV.PH %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHLLV.QB %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHLLV_S.PH %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHLLV_S.W %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRA.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRA.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRA_R.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRA_R.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12_11(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRA_R.W %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRAV.PH %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRAV.QB %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRAV_R.PH %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRAV_R.QB %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRAV_R.W %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRL.PH %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 sa_value = extract_sa_15_14_13(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRL.QB %s, %s, 0x%" PRIx64, rt, rs, sa_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRLV.PH %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SHRLV.QB %s, %s, %s", rd, rt, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SHX %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SHXS %s, %s(%s)", rd, rs, rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 shift3_value = extract_shift3_2_1_0(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
uint64 shift3 = encode_shift3_from_shift(shift3_value);
return img_format("SLL %s, %s, 0x%" PRIx64, rt3, rs3, shift3);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SLL %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SLLV %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SLT %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SLTI %s, %s, 0x%" PRIx64, rt, rs, u_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SLTIU %s, %s, 0x%" PRIx64, rt, rs, u_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SLTU %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SOV %s, %s, %s", rd, rs, rt);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("SQRT.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("SQRT.S %s, %s", ft, fs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SRA %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SRAV %s, %s, %s", rd, rs, rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 shift3_value = extract_shift3_2_1_0(instruction);
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
uint64 shift3 = encode_shift3_from_shift(shift3_value);
return img_format("SRL %s, %s, 0x%" PRIx64, rt3, rs3, shift3);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 shift_value = extract_shift_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SRL %s, %s, 0x%" PRIx64, rt, rs, shift_value);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SRLV %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUB %s, %s, %s", rd, rs, rt);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("SUB.D %s, %s, %s", fd, fs, ft);
}
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
uint64 fd_value = extract_fd_15_14_13_12_11(instruction);
- const char *fd = FPR(fd_value);
- const char *fs = FPR(fs_value);
- const char *ft = FPR(ft_value);
+ const char *fd = FPR(fd_value, info);
+ const char *fs = FPR(fs_value, info);
+ const char *ft = FPR(ft_value, info);
return img_format("SUB.S %s, %s, %s", fd, fs, ft);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBQ.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBQ_S.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBQ_S.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBQH.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBQH_R.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBQH_R.W %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBQH.W %s, %s, %s", rd, rs, rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 rd3_value = extract_rd3_3_2_1(instruction);
- const char *rd3 = GPR(decode_gpr_gpr3(rd3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rd3 = GPR(decode_gpr_gpr3(rd3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
return img_format("SUBU %s, %s, %s", rd3, rs3, rt3);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBU %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBU.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBU.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBU_S.PH %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBU_S.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBUH.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SUBUH_R.QB %s, %s, %s", rd, rs, rt);
}
uint64 rs3_value = extract_rs3_6_5_4(instruction);
uint64 u_value = extract_u_3_2_1_0__s2(instruction);
- const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value));
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
+ const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value, info), info);
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
return img_format("SW %s, 0x%" PRIx64 "(%s)", rtz3, u_value, rs3);
}
uint64 rs4_value = extract_rs4_4_2_1_0(instruction);
uint64 u_value = extract_u_3_8__s2(instruction);
- const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value));
- const char *rs4 = GPR(decode_gpr_gpr4(rs4_value));
+ const char *rtz4 = GPR(decode_gpr_gpr4_zero(rtz4_value, info), info);
+ const char *rs4 = GPR(decode_gpr_gpr4(rs4_value, info), info);
return img_format("SW %s, 0x%" PRIx64 "(%s)", rtz4, u_value, rs4);
}
uint64 u_value = extract_u_6_5_4_3_2_1_0__s2(instruction);
uint64 rtz3_value = extract_rtz3_9_8_7(instruction);
- const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value));
+ const char *rtz3 = GPR(decode_gpr_gpr3_src_store(rtz3_value, info), info);
return img_format("SW %s, 0x%" PRIx64 "($%d)", rtz3, u_value, 28);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 u_value = extract_u_20_to_2__s2(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("SW %s, 0x%" PRIx64 "($%d)", rt, u_value, 28);
}
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SW %s, %" PRId64 "(%s)", rt, s_value, rs);
}
uint64 rt_value = extract_rt_9_8_7_6_5(instruction);
uint64 u_value = extract_u_4_3_2_1_0__s2(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("SW %s, 0x%" PRIx64 "($%d)", rt, u_value, 29);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SW %s, 0x%" PRIx64 "(%s)", rt, u_value, rs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 u_value = extract_u_17_to_2__s2(instruction);
- const char *ft = FPR(ft_value);
+ const char *ft = FPR(ft_value, info);
return img_format("SWC1 %s, 0x%" PRIx64 "($%d)", ft, u_value, 28);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SWC1 %s, %" PRId64 "(%s)", ft, s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SWC1 %s, 0x%" PRIx64 "(%s)", ft, u_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ft_value = extract_ft_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SWC1X %s, %s(%s)", ft, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 ft_value = extract_ft_15_14_13_12_11(instruction);
- const char *ft = FPR(ft_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *ft = FPR(ft_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SWC1XS %s, %s(%s)", ft, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("SWC2 CP%" PRIu64 ", %" PRId64 "(%s)",
cs_value, s_value, rs);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("SWE %s, %" PRId64 "(%s)", rt, s_value, rs);
}
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 count3_value = extract_count3_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 count3 = encode_count3_from_count(count3_value);
return img_format("SWM %s, %" PRId64 "(%s), 0x%" PRIx64,
uint64 rt_value = extract_rt_41_40_39_38_37(instruction);
int64 s_value = extract_s__se31_15_to_0_31_to_16(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
g_autofree char *s = ADDRESS(s_value, 6, info);
return img_format("SWPC %s, %s", rt, s);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SWX %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("SWXS %s, %s(%s)", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("SYNCI %" PRId64 "(%s)", s_value, rs);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rs = GPR(rs_value);
+ const char *rs = GPR(rs_value, info);
return img_format("SYNCIE %" PRId64 "(%s)", s_value, rs);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("TEQ %s, %s", rs, rt);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("TNE %s, %s", rs, rt);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("TRUNC.L.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("TRUNC.L.S %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("TRUNC.W.D %s, %s", ft, fs);
}
uint64 ft_value = extract_ft_25_24_23_22_21(instruction);
uint64 fs_value = extract_fs_20_19_18_17_16(instruction);
- const char *ft = FPR(ft_value);
- const char *fs = FPR(fs_value);
+ const char *ft = FPR(ft_value, info);
+ const char *fs = FPR(fs_value, info);
return img_format("TRUNC.W.S %s, %s", ft, fs);
}
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 count3_value = extract_count3_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 count3 = encode_count3_from_count(count3_value);
return img_format("UALDM %s, %" PRId64 "(%s), 0x%" PRIx64,
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("UALH %s, %" PRId64 "(%s)", rt, s_value, rs);
}
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 count3_value = extract_count3_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 count3 = encode_count3_from_count(count3_value);
return img_format("UALWM %s, %" PRId64 "(%s), 0x%" PRIx64,
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 count3_value = extract_count3_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 count3 = encode_count3_from_count(count3_value);
return img_format("UASDM %s, %" PRId64 "(%s), 0x%" PRIx64,
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("UASH %s, %" PRId64 "(%s)", rt, s_value, rs);
}
int64 s_value = extract_s__se8_15_7_6_5_4_3_2_1_0(instruction);
uint64 count3_value = extract_count3_14_13_12(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
uint64 count3 = encode_count3_from_count(count3_value);
return img_format("UASWM %s, %" PRId64 "(%s), 0x%" PRIx64,
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 mask_value = extract_mask_20_19_18_17_16_15_14(instruction);
- const char *rt = GPR(rt_value);
+ const char *rt = GPR(rt_value, info);
return img_format("WRDSP %s, 0x%" PRIx64, rt, mask_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("WRPGPR %s, %s", rt, rs);
}
uint64 rt3_value = extract_rt3_9_8_7(instruction);
uint64 rs3_value = extract_rs3_6_5_4(instruction);
- const char *rs3 = GPR(decode_gpr_gpr3(rs3_value));
- const char *rt3 = GPR(decode_gpr_gpr3(rt3_value));
+ const char *rs3 = GPR(decode_gpr_gpr3(rs3_value, info), info);
+ const char *rt3 = GPR(decode_gpr_gpr3(rt3_value, info), info);
return img_format("XOR %s, %s", rs3, rt3);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 rd_value = extract_rd_15_14_13_12_11(instruction);
- const char *rd = GPR(rd_value);
- const char *rs = GPR(rs_value);
- const char *rt = GPR(rt_value);
+ const char *rd = GPR(rd_value, info);
+ const char *rs = GPR(rs_value, info);
+ const char *rt = GPR(rt_value, info);
return img_format("XOR %s, %s, %s", rd, rs, rt);
}
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
uint64 u_value = extract_u_11_10_9_8_7_6_5_4_3_2_1_0(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("XORI %s, %s, 0x%" PRIx64, rt, rs, u_value);
}
uint64 rt_value = extract_rt_25_24_23_22_21(instruction);
uint64 rs_value = extract_rs_20_19_18_17_16(instruction);
- const char *rt = GPR(rt_value);
- const char *rs = GPR(rs_value);
+ const char *rt = GPR(rt_value, info);
+ const char *rs = GPR(rs_value, info);
return img_format("YIELD %s, %s", rt, rs);
}
Dis_info disassm_info;
disassm_info.m_pc = memaddr;
+ disassm_info.fprintf_func = info->fprintf_func;
+ disassm_info.stream = info->stream;
status = (*info->read_memory_func)(memaddr, buffer, 2, info);
if (status != 0) {