|
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!
[Prev in Thread] | Current Thread | [Next in Thread] |