diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2024-12-15 10:06:09 +0100 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-01-23 11:35:33 +0100 |
| commit | 0360b781870a628379de20e03305c4e62dbdcca4 (patch) | |
| tree | 3dd5e8959d83a2e31d420507cf4c868694666e0f /rust/qemu-api/tests | |
| parent | 365811602572054b1c1173b19e8fd28689d827d9 (diff) | |
| download | focaccia-qemu-0360b781870a628379de20e03305c4e62dbdcca4.tar.gz focaccia-qemu-0360b781870a628379de20e03305c4e62dbdcca4.zip | |
target/i386: optimize CX handling in repeated string operations
In a repeated string operation, CX/ECX will be decremented until it is 0 but never underflow. Use this observation to avoid a deposit or zero-extend operation if the address size of the operation is smaller than MO_TL. As in the previous patch, the patch is structured to include some preparatory work for subsequent changes. In particular, introducing cx_next prepares for when ECX will be decremented *before* calling fn(s, ot), and therefore cannot yet be written back to cpu_regs. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Link: https://lore.kernel.org/r/20241215090613.89588-11-pbonzini@redhat.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'rust/qemu-api/tests')
0 files changed, 0 insertions, 0 deletions