[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction u
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction using deposit_i32() |
Date: |
Sun, 10 Mar 2019 01:34:24 +0100 |
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
target/m68k/translate.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index ab801b6ceb..55766fd7ef 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -720,17 +720,15 @@ static void gen_partset_reg(int opsize, TCGv reg, TCGv
val)
TCGv tmp;
switch (opsize) {
case OS_BYTE:
- tcg_gen_andi_i32(reg, reg, 0xffffff00);
tmp = tcg_temp_new();
tcg_gen_ext8u_i32(tmp, val);
- tcg_gen_or_i32(reg, reg, tmp);
+ tcg_gen_deposit_i32(reg, tmp, reg, 8, 24);
tcg_temp_free(tmp);
break;
case OS_WORD:
- tcg_gen_andi_i32(reg, reg, 0xffff0000);
tmp = tcg_temp_new();
tcg_gen_ext16u_i32(tmp, val);
- tcg_gen_or_i32(reg, reg, tmp);
+ tcg_gen_deposit_i32(reg, tmp, reg, 16, 16);
tcg_temp_free(tmp);
break;
case OS_LONG:
--
2.19.1
- [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32(), Philippe Mathieu-Daudé, 2019/03/09
- [Qemu-devel] [PATCH 1/6] target/m68k: Reduce the l1 TCGLabel scope, Philippe Mathieu-Daudé, 2019/03/09
- [Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction using deposit_i32(),
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH 3/6] target/m68k: Fix a tcg_temp leak, Philippe Mathieu-Daudé, 2019/03/09
- [Qemu-devel] [PATCH 4/6] target/m68k: Optimize get_sr() using deposit_i32(), Philippe Mathieu-Daudé, 2019/03/09
- [Qemu-devel] [PATCH 6/6] target/m68k: Reduce the scope of the 'zero' tcg_temp, Philippe Mathieu-Daudé, 2019/03/09
- [Qemu-devel] [PATCH 5/6] target/m68k: Optimize rotate_x() using extract_i32(), Philippe Mathieu-Daudé, 2019/03/09