[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [COMMIT b70650c] tcg/i386: optimize and $0xff(ff), reg
From: |
Anthony Liguori |
Subject: |
[Qemu-commits] [COMMIT b70650c] tcg/i386: optimize and $0xff(ff), reg |
Date: |
Sun, 27 Sep 2009 18:04:12 -0000 |
From: Aurelien Jarno <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c
index a95fe4c..d318443 100644
--- a/tcg/i386/tcg-target.c
+++ b/tcg/i386/tcg-target.c
@@ -281,6 +281,12 @@ static inline void tgen_arithi(TCGContext *s, int c, int
r0, int32_t val)
if (val == (int8_t)val) {
tcg_out_modrm(s, 0x83, c, r0);
tcg_out8(s, val);
+ } else if (c == ARITH_AND && val == 0xffu && r0 < 4) {
+ /* movzbl */
+ tcg_out_modrm(s, 0xb6 | P_EXT, r0, r0);
+ } else if (c == ARITH_AND && val == 0xffffu) {
+ /* movzwl */
+ tcg_out_modrm(s, 0xb7 | P_EXT, r0, r0);
} else {
tcg_out_modrm(s, 0x81, c, r0);
tcg_out32(s, val);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [COMMIT b70650c] tcg/i386: optimize and $0xff(ff), reg,
Anthony Liguori <=