Revision f0f26a06 qemu-tech.texi
b/qemu-tech.texi | ||
---|---|---|
363 | 363 |
Lazy evaluation of CPU condition codes (@code{EFLAGS} register on x86) |
364 | 364 |
is important for CPUs where every instruction sets the condition |
365 | 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 | 370 |
Instead of computing the condition codes after each x86 instruction, |
369 | 371 |
QEMU just stores one operand (called @code{CC_SRC}), the result |
... | ... | |
376 | 378 |
@code{CC_OP} is almost never explicitly set in the generated code |
377 | 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 | 384 |
@node CPU state optimisations |
383 | 385 |
@section CPU state optimisations |
Also available in: Unified diff