mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
target-xtensa: implement RT0 group
NEG and ABS are the only members of RT0 group. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
67882fd177
commit
f331fe5e5f
1 changed files with 19 additions and 0 deletions
|
@ -255,6 +255,25 @@ static void disas_xtensa_insn(DisasContext *dc)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6: /*RT0*/
|
case 6: /*RT0*/
|
||||||
|
switch (RRR_S) {
|
||||||
|
case 0: /*NEG*/
|
||||||
|
tcg_gen_neg_i32(cpu_R[RRR_R], cpu_R[RRR_T]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1: /*ABS*/
|
||||||
|
{
|
||||||
|
int label = gen_new_label();
|
||||||
|
tcg_gen_mov_i32(cpu_R[RRR_R], cpu_R[RRR_T]);
|
||||||
|
tcg_gen_brcondi_i32(
|
||||||
|
TCG_COND_GE, cpu_R[RRR_R], 0, label);
|
||||||
|
tcg_gen_neg_i32(cpu_R[RRR_R], cpu_R[RRR_T]);
|
||||||
|
gen_set_label(label);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default: /*reserved*/
|
||||||
|
break;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7: /*reserved*/
|
case 7: /*reserved*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue