[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH][MIPS] Wrap a few often used tests with unlikely()
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [PATCH][MIPS] Wrap a few often used tests with unlikely() |
Date: |
Tue, 25 Sep 2007 17:44:40 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
Hi all,
The patch below wraps a few often used tests with unlikely() in
the hope of small speed improvements.
Cheers,
Aurelien
Index: target-mips/translate.c
===================================================================
RCS file: /sources/qemu/qemu/target-mips/translate.c,v
retrieving revision 1.102
diff -u -d -p -r1.102 translate.c
--- target-mips/translate.c 25 Sep 2007 14:49:47 -0000 1.102
+++ target-mips/translate.c 25 Sep 2007 15:41:17 -0000
@@ -733,19 +733,19 @@ static inline void generate_exception (D
static inline void check_cp0_enabled(DisasContext *ctx)
{
- if (!(ctx->hflags & MIPS_HFLAG_CP0))
+ if (unlikely(!(ctx->hflags & MIPS_HFLAG_CP0)))
generate_exception_err(ctx, EXCP_CpU, 1);
}
static inline void check_cp1_enabled(DisasContext *ctx)
{
- if (!(ctx->hflags & MIPS_HFLAG_FPU))
+ if (unlikely(!(ctx->hflags & MIPS_HFLAG_FPU)))
generate_exception_err(ctx, EXCP_CpU, 1);
}
static inline void check_cp1_64bitmode(DisasContext *ctx)
{
- if (!(ctx->hflags & MIPS_HFLAG_F64))
+ if (unlikely(!(ctx->hflags & MIPS_HFLAG_F64)))
generate_exception(ctx, EXCP_RI);
}
@@ -762,7 +762,7 @@ static inline void check_cp1_64bitmode(D
*/
void check_cp1_registers(DisasContext *ctx, int regs)
{
- if (!(ctx->hflags & MIPS_HFLAG_F64) && (regs & 1))
+ if (unlikely(!(ctx->hflags & MIPS_HFLAG_F64) && (regs & 1)))
generate_exception(ctx, EXCP_RI);
}
@@ -778,7 +778,7 @@ static inline void check_insn(CPUState *
CPU is not MIPS MT capable. */
static inline void check_mips_mt(CPUState *env, DisasContext *ctx)
{
- if (!(env->CP0_Config3 & (1 << CP0C3_MT)))
+ if (unlikely(!(env->CP0_Config3 & (1 << CP0C3_MT))))
generate_exception(ctx, EXCP_RI);
}
@@ -786,7 +786,7 @@ static inline void check_mips_mt(CPUStat
instructions are not enabled. */
static inline void check_mips_64(DisasContext *ctx)
{
- if (!(ctx->hflags & MIPS_HFLAG_64))
+ if (unlikely(!(ctx->hflags & MIPS_HFLAG_64)))
generate_exception(ctx, EXCP_RI);
}
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' address@hidden | address@hidden
`- people.debian.org/~aurel32 | www.aurel32.net
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH][MIPS] Wrap a few often used tests with unlikely(),
Aurelien Jarno <=