From: Nikunj A Dadhania Date: Wed, 22 Feb 2017 11:44:35 +0000 (+0530) Subject: target/ppc: optimize gen_write_xer() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1bd33d0d7cc47bed75e14f2cea3c7253f8017495;p=qemu.git target/ppc: optimize gen_write_xer() Signed-off-by: Nikunj A Dadhania Reviewed-by: Richard Henderson Signed-off-by: David Gibson --- diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 3ba2616b8a..b09e16ff76 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -3724,12 +3724,9 @@ static void gen_write_xer(TCGv src) { tcg_gen_andi_tl(cpu_xer, src, ~((1u << XER_SO) | (1u << XER_OV) | (1u << XER_CA))); - tcg_gen_shri_tl(cpu_so, src, XER_SO); - tcg_gen_shri_tl(cpu_ov, src, XER_OV); - tcg_gen_shri_tl(cpu_ca, src, XER_CA); - tcg_gen_andi_tl(cpu_so, cpu_so, 1); - tcg_gen_andi_tl(cpu_ov, cpu_ov, 1); - tcg_gen_andi_tl(cpu_ca, cpu_ca, 1); + tcg_gen_extract_tl(cpu_so, src, XER_SO, 1); + tcg_gen_extract_tl(cpu_ov, src, XER_OV, 1); + tcg_gen_extract_tl(cpu_ca, src, XER_CA, 1); } /* mcrxr */