summaryrefslogtreecommitdiffstats
path: root/tcg/i386/tcg-target.h
diff options
context:
space:
mode:
authorRichard Henderson2018-10-30 22:52:44 +0100
committerRichard Henderson2018-12-17 04:04:43 +0100
commit5740d9f714835964873325d1210b26811252843f (patch)
tree04038bcc6a91222e3b971539c1a5add901b66336 /tcg/i386/tcg-target.h
parenttarget/sparc: Remove the constant pool (diff)
downloadqemu-5740d9f714835964873325d1210b26811252843f.tar.gz
qemu-5740d9f714835964873325d1210b26811252843f.tar.xz
qemu-5740d9f714835964873325d1210b26811252843f.zip
tcg/i386: Always use %ebp for TCG_AREG0
For x86_64, this can remove a REX prefix resulting in smaller code when manipulating globals of type i32, as we move them between backing store via cpu_env, aka TCG_AREG0. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/i386/tcg-target.h')
-rw-r--r--tcg/i386/tcg-target.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/tcg/i386/tcg-target.h b/tcg/i386/tcg-target.h
index 9fdf37f23c..7488c3d869 100644
--- a/tcg/i386/tcg-target.h
+++ b/tcg/i386/tcg-target.h
@@ -84,6 +84,8 @@ typedef enum {
TCG_REG_RBP = TCG_REG_EBP,
TCG_REG_RSI = TCG_REG_ESI,
TCG_REG_RDI = TCG_REG_EDI,
+
+ TCG_AREG0 = TCG_REG_EBP,
} TCGReg;
/* used for function call generation */
@@ -194,12 +196,6 @@ extern bool have_avx2;
#define TCG_TARGET_extract_i64_valid(ofs, len) \
(((ofs) == 8 && (len) == 8) || ((ofs) + (len)) == 32)
-#if TCG_TARGET_REG_BITS == 64
-# define TCG_AREG0 TCG_REG_R14
-#else
-# define TCG_AREG0 TCG_REG_EBP
-#endif
-
static inline void flush_icache_range(uintptr_t start, uintptr_t stop)
{
}