qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 5/8] target/m68k: optimize bcd_flags() using ext


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH 5/8] target/m68k: optimize bcd_flags() using extract op
Date: Thu, 11 May 2017 22:52:49 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

This patch is correct:

$ docker run -it -v `pwd`:`pwd` -w `pwd` petersenna/coccinelle --sp-file scripts/coccinelle/tcg_gen_extract.cocci --macro-file scripts/cocci-macro-file.h --dir target/m68k
init_defs_builtins: /usr/lib64/coccinelle/standard.h
init_defs: scripts/cocci-macro-file.h
HANDLING: target/m68k/helper.c
HANDLING: target/m68k/gdbstub.c
HANDLING: target/m68k/translate.c
candidate at target/m68k/translate.c:1466
  op_size: i32/i32 (same)
  low_bits: 1 (value: 0x1)
  len: 0x1
  len_bits == low_bits
  candidate IS optimizable

On 05/11/2017 05:41 AM, Laurent Vivier wrote:
Le 10/05/2017 à 22:05, Philippe Mathieu-Daudé a écrit :
Applied using Coccinelle script.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
 target/m68k/translate.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 9f60fbc0db..babb9e2c5b 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -1463,8 +1463,7 @@ static void bcd_flags(TCGv val)
     tcg_gen_andi_i32(QREG_CC_C, val, 0x0ff);
     tcg_gen_or_i32(QREG_CC_Z, QREG_CC_Z, QREG_CC_C);

-    tcg_gen_shri_i32(QREG_CC_C, val, 8);
-    tcg_gen_andi_i32(QREG_CC_C, QREG_CC_C, 1);
+    tcg_gen_extract_i32(QREG_CC_C, val, 8, 1);

     tcg_gen_mov_i32(QREG_CC_X, QREG_CC_C);
 }


Acked-by: Laurent Vivier <address@hidden>

Thanks!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]