qemu/target/i386
Paolo Bonzini 6032627f07 target/i386: optimize computation of JL and JLE from flags
Take advantage of the fact that there can be no 1 bits between SF and OF.
If they were adjacent, you could sum SF and get a carry only if SF was
already set.  Then the value of OF in the sum is the XOR of OF itself,
the carry (which is SF) and 0 (the value of the OF bit in the addend):
this is OF^SF exactly.

Because OF and SF are not adjacent, just place more 1 bits to the
left so that the carry propagates, which means summing CC_O - CC_S.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-12-29 22:02:48 +01:00
..
hvf target/i386/hvf: Rename 'X86CPU *x86_cpu' variable as 'cpu' 2023-11-07 12:13:27 +01:00
kvm i386/sev: Avoid SEV-ES crash due to missing MSR_EFER_LMA bit 2023-12-06 14:34:11 -05:00
nvmm migration: simplify blockers 2023-10-20 08:51:41 +02:00
tcg target/i386: optimize computation of JL and JLE from flags 2023-12-29 22:02:48 +01:00
whpx migration: simplify blockers 2023-10-20 08:51:41 +02:00
arch_dump.c dump: Replace opaque DumpState pointer with a typed one 2022-10-06 19:30:43 +04:00
arch_memory_mapping.c memory: follow Error API guidelines 2023-10-19 23:13:27 +02:00
cpu-dump.c target/i386: Remove x86_cpu_dump_local_apic_state() dead stub 2023-02-27 22:29:01 +01:00
cpu-internal.h i386: split off sysemu part of cpu.c 2021-05-10 15:41:52 -04:00
cpu-param.h target/i386: Remove NB_MMU_MODES define 2023-03-13 06:44:37 -07:00
cpu-qom.h target: Move ArchCPUClass definition to 'cpu.h' 2023-11-07 13:08:48 +01:00
cpu-sysemu.c target/i386/cpu-sysemu: Inline kvm_apic_in_kernel() 2023-09-07 13:32:37 +02:00
cpu.c target: Restrict 'sysemu/reset.h' to system emulation 2023-12-20 10:29:23 +01:00
cpu.h target/i386: Fix 32-bit wrapping of pc/eip computation 2023-12-12 13:35:08 -08:00
gdbstub.c gdbstub: move register helpers into standalone include 2023-03-07 20:44:08 +00:00
helper.c target/i386/helper: Restrict KVM declarations to system emulation 2023-09-07 13:32:37 +02:00
helper.h target/i386: implement SYSCALL/SYSRET in 32-bit emulators 2023-06-26 10:23:56 +02:00
host-cpu.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
host-cpu.h
Kconfig
machine.c i386: spelling fixes 2023-09-20 07:54:34 +03:00
meson.build meson: Rename target_softmmu_arch -> target_system_arch 2023-10-07 19:03:07 +02:00
monitor.c target/i386/monitor: synchronize cpu state for lapic info 2023-11-07 12:13:27 +01:00
ops_sse.h target/i386: implement SHA instructions 2023-10-25 17:35:07 +02:00
sev-sysemu-stub.c error: Drop superfluous #include "qapi/qmp/qerror.h" 2023-02-23 13:56:14 +01:00
sev.c migration: simplify blockers 2023-10-20 08:51:41 +02:00
sev.h bulk: Do not declare function prototypes using 'extern' keyword 2023-08-31 19:47:43 +02:00
svm.h target/i386: check intercept for XSETBV 2023-10-17 15:20:53 +02:00
trace-events
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
xsave_helper.c