projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
00b7078
)
target/ppc: optimize gen_write_xer()
author
Nikunj A Dadhania
<nikunj@linux.vnet.ibm.com>
Wed, 22 Feb 2017 11:44:35 +0000
(17:14 +0530)
committer
David Gibson
<david@gibson.dropbear.id.au>
Wed, 1 Mar 2017 00:23:38 +0000
(11:23 +1100)
Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
target/ppc/translate.c
patch
|
blob
|
history
diff --git
a/target/ppc/translate.c
b/target/ppc/translate.c
index 3ba2616b8acc933f3afca6b3ecc1f3fa19b5703f..b09e16ff769270937c7afc71c9e849532b9f89f2 100644
(file)
--- 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 */