summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Henderson2019-04-18 02:32:37 +0200
committerRichard Henderson2019-05-14 00:52:08 +0200
commit73f671f1a2cbf98264c376359449e4e2a21b8853 (patch)
tree7527528485aa0611a12f44a60010cf3cbb593cbc
parenttarget/arm: Use tcg_gen_abs_i64 and tcg_gen_gvec_abs (diff)
downloadqemu-73f671f1a2cbf98264c376359449e4e2a21b8853.tar.gz
qemu-73f671f1a2cbf98264c376359449e4e2a21b8853.tar.xz
qemu-73f671f1a2cbf98264c376359449e4e2a21b8853.zip
target/cris: Use tcg_gen_abs_tl
Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r--target/cris/translate.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/target/cris/translate.c b/target/cris/translate.c
index b005a5c20e..31b40a57f9 100644
--- a/target/cris/translate.c
+++ b/target/cris/translate.c
@@ -1686,18 +1686,11 @@ static int dec_cmp_r(CPUCRISState *env, DisasContext *dc)
static int dec_abs_r(CPUCRISState *env, DisasContext *dc)
{
- TCGv t0;
-
LOG_DIS("abs $r%u, $r%u\n",
dc->op1, dc->op2);
cris_cc_mask(dc, CC_MASK_NZ);
- t0 = tcg_temp_new();
- tcg_gen_sari_tl(t0, cpu_R[dc->op1], 31);
- tcg_gen_xor_tl(cpu_R[dc->op2], cpu_R[dc->op1], t0);
- tcg_gen_sub_tl(cpu_R[dc->op2], cpu_R[dc->op2], t0);
- tcg_temp_free(t0);
-
+ tcg_gen_abs_tl(cpu_R[dc->op2], cpu_R[dc->op1]);
cris_alu(dc, CC_OP_MOVE,
cpu_R[dc->op2], cpu_R[dc->op2], cpu_R[dc->op2], 4);
return 2;