Commit f0f26a06d51b7e7764f8951cdbf67ac9ad507f6d
1 parent
d084469c
Update docs on dynamic condition code calculation
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Showing
1 changed file
with
5 additions
and
3 deletions
qemu-tech.texi
@@ -363,7 +363,9 @@ look at @code{tcg/README}. | @@ -363,7 +363,9 @@ look at @code{tcg/README}. | ||
363 | Lazy evaluation of CPU condition codes (@code{EFLAGS} register on x86) | 363 | Lazy evaluation of CPU condition codes (@code{EFLAGS} register on x86) |
364 | is important for CPUs where every instruction sets the condition | 364 | is important for CPUs where every instruction sets the condition |
365 | codes. It tends to be less important on conventional RISC systems | 365 | codes. It tends to be less important on conventional RISC systems |
366 | -where condition codes are only updated when explicitly requested. | 366 | +where condition codes are only updated when explicitly requested. On |
367 | +Sparc64, costly update of both 32 and 64 bit condition codes can be | ||
368 | +avoided with lazy evaluation. | ||
367 | 369 | ||
368 | Instead of computing the condition codes after each x86 instruction, | 370 | Instead of computing the condition codes after each x86 instruction, |
369 | QEMU just stores one operand (called @code{CC_SRC}), the result | 371 | QEMU just stores one operand (called @code{CC_SRC}), the result |
@@ -376,8 +378,8 @@ conditional branches. | @@ -376,8 +378,8 @@ conditional branches. | ||
376 | @code{CC_OP} is almost never explicitly set in the generated code | 378 | @code{CC_OP} is almost never explicitly set in the generated code |
377 | because it is known at translation time. | 379 | because it is known at translation time. |
378 | 380 | ||
379 | -The lazy condition code evaluation is used on x86, m68k and cris. ARM | ||
380 | -uses a simplified variant for the N and Z flags. | 381 | +The lazy condition code evaluation is used on x86, m68k, cris and |
382 | +Sparc. ARM uses a simplified variant for the N and Z flags. | ||
381 | 383 | ||
382 | @node CPU state optimisations | 384 | @node CPU state optimisations |
383 | @section CPU state optimisations | 385 | @section CPU state optimisations |