projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1625694
)
target-xtensa: Use clrsb helper
author
Richard Henderson
<rth@twiddle.net>
Wed, 16 Nov 2016 16:38:10 +0000
(17:38 +0100)
committer
Richard Henderson
<rth@twiddle.net>
Tue, 10 Jan 2017 16:47:48 +0000
(08:47 -0800)
Signed-off-by: Richard Henderson <rth@twiddle.net>
target/xtensa/translate.c
patch
|
blob
|
history
diff --git
a/target/xtensa/translate.c
b/target/xtensa/translate.c
index 5c719a41814203b14d68328cab5d8fde279e5eab..5a93705face6d3a7e1994f6088614575d6762a39 100644
(file)
--- a/
target/xtensa/translate.c
+++ b/
target/xtensa/translate.c
@@
-1372,16
+1372,7
@@
static void disas_xtensa_insn(CPUXtensaState *env, DisasContext *dc)
case 14: /*NSAu*/
HAS_OPTION(XTENSA_OPTION_MISC_OP_NSA);
if (gen_window_check2(dc, RRR_S, RRR_T)) {
- TCGv_i32 t0 = tcg_temp_new_i32();
-
- /* if (v & 0x80000000) v = ~v; */
- tcg_gen_sari_i32(t0, cpu_R[RRR_S], 31);
- tcg_gen_xor_i32(t0, t0, cpu_R[RRR_S]);
-
- /* r = (v ? clz(v) : 32) - 1; */
- tcg_gen_clzi_i32(t0, t0, 32);
- tcg_gen_subi_i32(cpu_R[RRR_T], t0, 1);
- tcg_temp_free_i32(t0);
+ tcg_gen_clrsb_i32(cpu_R[RRR_T], cpu_R[RRR_S]);
}
break;