Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Go to file
Paolo Bonzini ff50379f74 target/i386: fix operand size for VCOMI/VUCOMI instructions
Compared to other SSE instructions, VUCOMISx and VCOMISx are different:
the single and double precision versions are distinguished through a
prefix, however they use no-prefix and 0x66 for SS and SD respectively.
Scalar values usually are associated with 0xF2 and 0xF3.

Because of these, they incorrectly perform a 128-bit memory load instead
of a 32- or 64-bit load.  Fix this by writing a custom decoding function.

I tested that the reproducer is fixed and the test-avx output does not
change.

Reported-by: Gabriele Svelto <gsvelto@mozilla.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1637
Fixes: f8d19eec0d ("target/i386: reimplement 0x0f 0x28-0x2f, add AVX", 2022-10-18)
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-07-17 02:54:43 -07:00
.github Merge remote-tracking branch 'origin/master' into sync/qemu-7.2.0 2023-06-18 01:19:02 -07:00
.gitlab/issue_templates GitLab: Add "Feature Request" issue template. 2021-06-25 10:08:37 +01:00
.gitlab-ci.d gitlab: integrate coverage report 2022-11-22 09:52:23 +00:00
accel accel/tcg: Don't attempt to revert code_gen_ptr on a recycled TB 2023-01-23 00:30:40 -07:00
audio module: add Error arguments to module_load and module_load_qom 2022-11-06 09:48:50 +01:00
authz configure, meson: convert pam detection to meson 2021-06-25 10:54:10 +02:00
backends vhost: enable vrings in vhost_dev_start() for vhost-user devices 2022-12-01 02:30:04 -05:00
block Merge remote-tracking branch 'origin/master' into sync/qemu-7.2.0 2023-06-18 01:19:02 -07:00
bsd-user bsd-user: Catch up with sys/param.h requirement for machine/pmap.h 2022-10-26 14:09:17 -06:00
chardev v7.2.0 release 2023-01-22 13:17:37 -07:00
common-user common-user: Only compile the common user code if have_user is set 2022-06-28 11:12:05 +02:00
configs v7.2.0 release 2023-01-22 13:17:37 -07:00
contrib contrib/plugins: protect execlog's last_exec expansion 2022-10-31 20:37:59 +00:00
crypto crypto: Support export akcipher to pkcs8 2022-11-02 06:56:32 -04:00
data ui: Redesign user interface 2022-05-07 16:09:34 -07:00
disas disas/nanomips: Tidy read for 48-bit opcodes 2022-11-08 01:04:25 +01:00
docs docs/devel: try and improve the language around patch review 2022-11-22 09:52:23 +00:00
dtc@b6910bec11 ui: Make aspect ratio config independent, add autodetect 2023-06-18 00:58:39 -07:00
dump dump/win_dump: limit number of processed PRCBs 2022-10-26 12:55:00 +04:00
ebpf ebpf: replace deprecated bpf_program__set_socket_filter 2022-07-06 11:39:09 +08:00
fpu softfloat: logB(0) should raise divideByZero exception 2022-10-17 10:28:35 +08:00
fsdev fsdev/virtfs-proxy-helper: Use g_mkdir() 2022-10-24 12:24:32 +02:00
gdb-xml gdb-xml: Fix size of EFER register on i386 architecture when debugged by GDB 2022-11-06 09:48:26 +01:00
gdbstub gdbstub: move guest debug support check to ops 2022-10-06 11:53:41 +01:00
genconfig@44bab849ce tomlplusplus: Allow using system library 2022-06-24 22:21:49 -07:00
hw Merge remote-tracking branch 'origin/master' into sync/qemu-7.2.0 2023-07-15 17:24:01 -07:00
include qemu/osdep: Switch position of "extern" and "G_NORETURN" 2023-07-15 18:18:42 -07:00
io io/channel-watch: Fix socket watch on Windows 2022-10-26 13:32:08 +01:00
libdecnumber libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15 2022-11-11 09:13:52 +01:00
licenses nv2a: Add CPU emulation of nv2a vertex shader 2022-06-24 20:34:57 -07:00
linux-headers Update linux headers to v6.0-rc4 2022-09-26 17:23:47 +02:00
linux-user linux-user: always translate cmsg when recvmsg 2022-11-02 17:29:17 +01:00
meson@3a9b285a55 ui: Make aspect ratio config independent, add autodetect 2023-06-18 00:58:39 -07:00
migration savevm: Save extra data with iothread lock 2023-06-18 14:53:19 -07:00
monitor qemu-sockets: move and rename SocketAddress_to_str() 2022-10-28 13:28:52 +08:00
nbd block: Change blk_{pread,pwrite}() param order 2022-07-12 12:14:56 +02:00
net v7.2.0 release 2023-01-22 13:17:37 -07:00
pc-bios update seabios binaries to 1.16.1 2022-11-28 11:06:05 +01:00
plugins plugins: add [pre|post]fork helpers to linux-user 2022-10-06 11:53:41 +01:00
po po: add ukrainian translation 2022-07-05 10:15:49 +02:00
python misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
qapi v7.2.0 release 2023-01-22 13:17:37 -07:00
qga Fix some typos in documentation and comments 2022-11-05 20:35:45 +01:00
qobject include/qapi: add g_autoptr support for qobject types 2022-04-06 10:50:38 +02:00
qom module: add Error arguments to module_load and module_load_qom 2022-11-06 09:48:50 +01:00
replay replay: Fix declaration of replay_read_next_clock 2022-11-29 11:09:11 -05:00
roms update seabios source from 1.16.0 to 1.16.1 2022-11-28 10:57:42 +01:00
scripts scripts/download-macos-libs.py: Add libslirp 2023-01-23 02:17:32 -07:00
scsi QIOChannel: Add flags on io_writev and introduce io_flush callback 2022-05-16 13:56:24 +01:00
semihosting semihosting/arm-compat-semi: Avoid using hardcoded /tmp 2022-10-31 20:37:58 +00:00
softmmu softmmu/runstate.c: Fix unused variable warning 2023-01-23 00:30:40 -07:00
storage-daemon qsd: Unlink absolute PID file path 2022-07-12 14:30:38 +02:00
stubs qga: Allow building of the guest agent without system emulators or tools 2022-11-11 09:17:45 +01:00
subprojects libvhost-user: Add format attribute to local function vu_panic 2022-11-27 13:33:58 -05:00
target target/i386: fix operand size for VCOMI/VUCOMI instructions 2023-07-17 02:54:43 -07:00
tcg v7.2.0 release 2023-01-22 13:17:37 -07:00
tests * Fix potential undefined behavior in cleanup of migration-test 2022-12-04 11:07:46 -05:00
thirdparty nv2a: Add RenderDoc support for Windows builds 2022-06-14 14:03:26 -07:00
tomlplusplus@27816dbbd1 tomlplusplus: Update submodule 2022-05-02 14:08:33 -07:00
tools virtiofsd: Add sigreturn to the seccomp whitelist 2022-11-25 13:56:05 -05:00
trace include/hw/core: Create struct CPUJumpCache 2022-10-04 12:13:12 -07:00
ubuntu-win64-cross xemu-win64-toolchain/sdl2.mk: Specify PKG_FILE 2023-01-23 10:37:06 -07:00
ui xemu-snapshots.c: Drop qemu-common.h include 2023-06-18 01:30:38 -07:00
util util/osdep.c: Fix qemu_mkdir missing return value 2023-01-23 12:47:25 -07:00
winpcap-loader net: Add libpcap library 2021-06-11 22:12:00 -07:00
.cirrus.yml ci: Upgrade msys2 release to 20220603 2022-07-29 10:33:29 -07:00
.clang-format ui: Redesign user interface 2022-05-07 16:09:34 -07:00
.dir-locals.el
.editorconfig .editorconfig: update the automatic mode setting for Emacs 2021-03-10 15:34:11 +00:00
.exrc
.gdbinit
.gitattributes gitattributes: Cover Objective-C source files 2022-03-29 00:15:14 +02:00
.gitignore v7.2.0 release 2023-01-22 13:17:37 -07:00
.gitlab-ci.yml docs: Document GitLab custom CI/CD variables 2021-07-29 07:56:01 +02:00
.gitmodules v7.2.0 release 2023-01-22 13:17:37 -07:00
.gitpublish
.mailmap MAINTAINERS: Replace my amsat.org email address 2022-10-17 17:21:22 -04:00
.patchew.yml scripts/checkpatch: roll diff tweaking into checkpatch itself 2021-06-25 10:08:33 +01:00
.readthedocs.yml readthedocs: build with Python 3.6 2020-10-05 16:30:45 +01:00
.travis.yml Revert "gitlab: disable accelerated zlib for s390x" 2022-07-20 12:15:09 +01:00
block.c Merge remote-tracking branch 'origin/master' into sync/qemu-7.2.0 2023-06-18 01:19:02 -07:00
blockdev-nbd.c nbd/server: Allow MULTI_CONN for shared writable exports 2022-05-12 13:10:52 +02:00
blockdev.c v7.2.0 release 2023-01-22 13:17:37 -07:00
blockjob.c block: Make bdrv_child_get_parent_aio_context I/O 2022-11-10 14:58:34 +01:00
build.sh build: Discover latest macOS SDK instead of hardcoding. 2023-06-04 11:38:38 -07:00
config_spec.yml ui: Make aspect ratio config independent, add autodetect 2023-06-18 00:58:39 -07:00
configure configure, meson: Use legacy gl/epoxy detection for now 2023-01-23 02:17:32 -07:00
COPYING
COPYING.LIB COPYING.LIB: Synchronize the LGPL 2.1 with the version from gnu.org 2019-01-30 11:01:22 +01:00
cpu.c accel/tcg: Complete cpu initialization before registration 2022-11-01 08:31:41 +11:00
cpus-common.c cpus: Introduce cpu_list_generation_id 2022-07-20 12:15:08 +01:00
disas.c disas: use result of ->read_memory_func 2022-10-06 11:53:40 +01:00
event-loop-base.c util/event-loop-base: Introduce options to set the thread pool size 2022-05-09 10:43:23 +01:00
get_deps.py ci: Check DLLs against /mingw64/bin instead of C:\Windows 2020-05-01 04:10:08 -07:00
gitdm.config contrib/gitdm: add a new interns group-map for GSoC/Outreachy work 2021-07-23 17:22:16 +01:00
hmp-commands-info.hx hmp: add virtio commands 2022-10-09 16:38:45 -04:00
hmp-commands.hx qapi: net: add stream and dgram netdevs 2022-10-28 13:28:52 +08:00
Info.plist build: Support cross-building for Apple silicon 2021-05-31 00:12:55 -07:00
iothread.c util/event-loop-base: Introduce options to set the thread pool size 2022-05-09 10:43:23 +01:00
job-qmp.c job.c: enable job lock/unlock and remove Aiocontext locks 2022-10-07 12:11:41 +02:00
job.c block: remove bdrv_try_set_aio_context and replace it with bdrv_try_change_aio_context 2022-10-27 20:14:11 +02:00
Kconfig meson: Introduce target-specific Kconfig 2021-07-09 18:21:34 +02:00
Kconfig.host vfio-user: build library 2022-06-15 16:42:33 +01:00
LICENSE tcg/LICENSE: Remove out of date claim about TCG subdirectory licensing 2019-11-11 15:11:21 +01:00
MAINTAINERS MAINTAINERS: Add subprojects/libvhost-user to section "vhost" 2022-11-27 13:34:21 -05:00
Makefile v7.2.0 release 2023-01-22 13:17:37 -07:00
memory_ldst.c.inc exec/memory_ldst: Use correct type sizes 2021-05-26 08:35:51 -07:00
meson.build configure, meson: Use legacy gl/epoxy detection for now 2023-01-23 02:17:32 -07:00
meson_options.txt configure, meson: Eliminate redundant gtk check 2023-01-23 00:30:40 -07:00
module-common.c
os-posix.c os-posix: asynchronous teardown for shutdown on Linux 2022-10-31 09:46:34 +01:00
os-win32.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
page-vary-common.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
page-vary.c include: move target page bits declaration to page-vary.h 2022-04-06 14:31:43 +02:00
qemu-bridge-helper.c qemu-bridge-helper: relocate path to default ACL 2020-09-30 19:11:36 +02:00
qemu-edid.c qemu-edid: Restrict input parameter -d to avoid division by zero 2022-10-12 13:38:15 +02:00
qemu-img-cmds.hx qemu-img: Unify [-b [-F]] documentation 2022-02-01 13:49:15 +01:00
qemu-img.c qemu-img: remove unused variable 2022-11-11 09:12:10 +01:00
qemu-io-cmds.c block: Change blk_pwrite_compressed() param order 2022-07-12 12:14:56 +02:00
qemu-io.c include: move qemu_*_exec_dir() to cutils 2022-05-28 11:42:56 +02:00
qemu-keymap.c qemu-keymap: Add license in generated files 2021-12-17 10:41:50 +01:00
qemu-nbd.c qemu-nbd: Pass max connections to blockdev layer 2022-05-12 13:10:52 +02:00
qemu-options.hx Fix several typos in documentation (found by codespell) 2022-11-11 09:39:25 +01:00
qemu.nsi nsis installer: Fix mouse-over descriptions for emulators 2022-03-18 10:55:15 +00:00
qemu.sasl sasl: remove comment about obsolete kerberos versions 2021-06-14 13:28:50 +01:00
QEMU_VERSION v7.2.0 release 2023-01-22 13:17:37 -07:00
README.md README: Direct users to the website for more info 2020-02-21 00:45:41 -07:00
README.rst README.rst: fix link formatting 2022-08-04 13:44:21 +02:00
replication.c replication: move include out of root directory 2021-05-26 14:49:46 +02:00
toml.cpp tomlplusplus: Allow using system library 2022-06-24 22:21:49 -07:00
trace-events gdbstub: move into its own sub directory 2022-10-06 11:53:41 +01:00
version.rc .github: Make all release tags follow v<semver> convention 2022-04-29 22:03:39 -07:00
xemu-version.c build: Generate xemu version header 2021-05-19 01:09:39 -07:00
xemu-version.h Makefile: Generate C file with xemu build info 2020-05-04 07:13:12 -07:00
xemu-xbe.c xemu-xbe.c: Add memtxattrs 2023-01-23 00:30:40 -07:00
xemu-xbe.h xemu: Update copyright 2021-03-03 03:48:11 -07:00
xemu.appdata.xml xemu.appdata.xml: Add screenshots to appdata file 2023-01-18 12:17:10 -07:00

Please visit https://xemu.app for more information.