GPR_ZERO
uasm_i_addiu(pp, GPR_T0, GPR_ZERO, (perf_event << 5) | 0xf);
uasm_i_mtc0(pp, GPR_ZERO, 25, (perf_counter * 2) + 1); /* PerfCntN */
uasm_i_lw(pp, GPR_ZERO, i * line_size * line_stride, GPR_T0);
uasm_i_addiu(&p, GPR_T1, GPR_ZERO, -1);
uasm_i_yield(&p, GPR_ZERO, GPR_T1);
uasm_i_addiu(&p, GPR_T0, GPR_ZERO, TCHALT_H);
uasm_i_addiu(&p, GPR_T0, GPR_ZERO, 1 << vpe_id);
uasm_i_addiu(&p, GPR_T0, GPR_ZERO, 1 << cpu_core(&cpu_data[cpu]));
uasm_i_sw(&p, GPR_ZERO, 0, r_pcohctl);
uasm_i_addiu(&p, GPR_T1, GPR_ZERO, cpc_cmd);
uasm_i_addiu(&p, GPR_T0, GPR_ZERO, mips_cm_revision() < CM_REV_CM3
uasm_i_addiu(&p, GPR_K0, GPR_ZERO, ST0_EXL | KSU_USER | ST0_IE | ST0_KX_IF_64);
uasm_i_addiu(&p, GPR_V1, GPR_ZERO, 1);
uasm_i_addiu(&p, GPR_T3, GPR_ZERO, sizeof(struct cpuinfo_mips)/sizeof(long));
uasm_i_mtc0(&p, GPR_ZERO, C0_HWRENA);
uasm_i_ctc1(&p, GPR_ZERO, 31);
uasm_i_ctcmsa(&p, MSA_CSR, GPR_ZERO);
uasm_i_ins(&p, GPR_K0, GPR_ZERO, MIPS_GCTL0_GM_SHIFT, 1);
uasm_i_ins(&p, GPR_T0, GPR_ZERO, MIPS_GCTL1_RID_SHIFT,
uasm_i_addiu(&p, GPR_AT, GPR_ZERO, ~(ST0_EXL | KSU_USER | ST0_IE));
uasm_i_di(&p, GPR_ZERO);
uasm_i_addiu(buf, GPR_T9, GPR_ZERO, off);
uasm_i_sd(buf, GPR_ZERO, off, GPR_A0);
uasm_i_sw(buf, GPR_ZERO, off, GPR_A0);
uasm_i_lw(buf, GPR_ZERO, GPR_ZERO, GPR_AT);
uasm_i_lw(buf, GPR_ZERO, GPR_ZERO, GPR_AT);