From e5486b636b0114d17d5af60f3d45f8ebae045716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sat, 3 Mar 2018 23:09:02 -0500 Subject: [PATCH] target/m68k: optimize bcd_flags() using extract op Done with the Coccinelle semantic patch scripts/coccinelle/tcg_gen_extract.cocci. Backports commit 0d9acef24062844b96c671b4379d9fb03c3ea606 from qemu --- qemu/target/m68k/translate.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/qemu/target/m68k/translate.c b/qemu/target/m68k/translate.c index 094d904a..7a4e07a5 100644 --- a/qemu/target/m68k/translate.c +++ b/qemu/target/m68k/translate.c @@ -1786,8 +1786,7 @@ static void bcd_flags(DisasContext *s, TCGv val) tcg_gen_andi_i32(tcg_ctx, QREG_CC_C, val, 0x0ff); tcg_gen_or_i32(tcg_ctx, QREG_CC_Z, QREG_CC_Z, QREG_CC_C); - tcg_gen_shri_i32(tcg_ctx, QREG_CC_C, val, 8); - tcg_gen_andi_i32(tcg_ctx, QREG_CC_C, QREG_CC_C, 1); + tcg_gen_extract_i32(tcg_ctx, QREG_CC_C, val, 8, 1); tcg_gen_mov_i32(tcg_ctx, QREG_CC_X, QREG_CC_C); }