* [Qemu-devel] [Bug 1245543] [NEW] Wrong implementation of SSE4.1 pmovzxbw and similar instructions
@ 2013-10-28 15:53 p12
2020-08-07 9:32 ` [Bug 1245543] " Thomas Huth
2020-10-07 4:17 ` Launchpad Bug Tracker
0 siblings, 2 replies; 3+ messages in thread
From: p12 @ 2013-10-28 15:53 UTC (permalink / raw)
To: qemu-devel
Public bug reported:
QEMU 1.5.0 (and git version, as far as I can tell from the source code)
has incorrect implementation of pmovzxbw and similar SSE4.1
instructions. The instruction zero-extends the first 8 8-bit elements of
a vector to 16bit vector and puts them to another vector. The current
implementation applies this operation only to the first element and
zeros out the rest.
To verify, compile the attached program for SSE4.1 (g++ -msse4.1
cvtint.cc). On real hardware, it produces the following output:
$ ./a.out
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
On QEMU, the output is as follows:
$ ./a.out
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
QEMU is invoked as:
qemu-system-x86_64 \
-M pc -cpu Haswell,+sse4.1,+avx,+avx2,+fma,enforce -m 512 \
-serial stdio -no-reboot \
-kernel vmlinuz -initrd initrd.img \
-netdev user,id=user.0 -device rtl8139,netdev=user.0 -redir tcp:2222::22 \
-hda ubuntu-amd64.ext3 \
--append "rw console=tty root=/dev/sda"
** Affects: qemu
Importance: Undecided
Status: New
** Attachment added: "Program to verify this bug"
https://bugs.launchpad.net/bugs/1245543/+attachment/3893823/+files/cvtint.cc
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1245543
Title:
Wrong implementation of SSE4.1 pmovzxbw and similar instructions
Status in QEMU:
New
Bug description:
QEMU 1.5.0 (and git version, as far as I can tell from the source
code) has incorrect implementation of pmovzxbw and similar SSE4.1
instructions. The instruction zero-extends the first 8 8-bit elements
of a vector to 16bit vector and puts them to another vector. The
current implementation applies this operation only to the first
element and zeros out the rest.
To verify, compile the attached program for SSE4.1 (g++ -msse4.1
cvtint.cc). On real hardware, it produces the following output:
$ ./a.out
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
On QEMU, the output is as follows:
$ ./a.out
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
QEMU is invoked as:
qemu-system-x86_64 \
-M pc -cpu Haswell,+sse4.1,+avx,+avx2,+fma,enforce -m 512 \
-serial stdio -no-reboot \
-kernel vmlinuz -initrd initrd.img \
-netdev user,id=user.0 -device rtl8139,netdev=user.0 -redir tcp:2222::22 \
-hda ubuntu-amd64.ext3 \
--append "rw console=tty root=/dev/sda"
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1245543/+subscriptions
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug 1245543] Re: Wrong implementation of SSE4.1 pmovzxbw and similar instructions
2013-10-28 15:53 [Qemu-devel] [Bug 1245543] [NEW] Wrong implementation of SSE4.1 pmovzxbw and similar instructions p12
@ 2020-08-07 9:32 ` Thomas Huth
2020-10-07 4:17 ` Launchpad Bug Tracker
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Huth @ 2020-08-07 9:32 UTC (permalink / raw)
To: qemu-devel
Looking through old bug tickets... is this still an issue with the
latest version of QEMU? Or could we close this ticket nowadays?
** Changed in: qemu
Status: New => Incomplete
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1245543
Title:
Wrong implementation of SSE4.1 pmovzxbw and similar instructions
Status in QEMU:
Incomplete
Bug description:
QEMU 1.5.0 (and git version, as far as I can tell from the source
code) has incorrect implementation of pmovzxbw and similar SSE4.1
instructions. The instruction zero-extends the first 8 8-bit elements
of a vector to 16bit vector and puts them to another vector. The
current implementation applies this operation only to the first
element and zeros out the rest.
To verify, compile the attached program for SSE4.1 (g++ -msse4.1
cvtint.cc). On real hardware, it produces the following output:
$ ./a.out
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
On QEMU, the output is as follows:
$ ./a.out
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
QEMU is invoked as:
qemu-system-x86_64 \
-M pc -cpu Haswell,+sse4.1,+avx,+avx2,+fma,enforce -m 512 \
-serial stdio -no-reboot \
-kernel vmlinuz -initrd initrd.img \
-netdev user,id=user.0 -device rtl8139,netdev=user.0 -redir tcp:2222::22 \
-hda ubuntu-amd64.ext3 \
--append "rw console=tty root=/dev/sda"
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1245543/+subscriptions
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug 1245543] Re: Wrong implementation of SSE4.1 pmovzxbw and similar instructions
2013-10-28 15:53 [Qemu-devel] [Bug 1245543] [NEW] Wrong implementation of SSE4.1 pmovzxbw and similar instructions p12
2020-08-07 9:32 ` [Bug 1245543] " Thomas Huth
@ 2020-10-07 4:17 ` Launchpad Bug Tracker
1 sibling, 0 replies; 3+ messages in thread
From: Launchpad Bug Tracker @ 2020-10-07 4:17 UTC (permalink / raw)
To: qemu-devel
[Expired for QEMU because there has been no activity for 60 days.]
** Changed in: qemu
Status: Incomplete => Expired
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1245543
Title:
Wrong implementation of SSE4.1 pmovzxbw and similar instructions
Status in QEMU:
Expired
Bug description:
QEMU 1.5.0 (and git version, as far as I can tell from the source
code) has incorrect implementation of pmovzxbw and similar SSE4.1
instructions. The instruction zero-extends the first 8 8-bit elements
of a vector to 16bit vector and puts them to another vector. The
current implementation applies this operation only to the first
element and zeros out the rest.
To verify, compile the attached program for SSE4.1 (g++ -msse4.1
cvtint.cc). On real hardware, it produces the following output:
$ ./a.out
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
On QEMU, the output is as follows:
$ ./a.out
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
QEMU is invoked as:
qemu-system-x86_64 \
-M pc -cpu Haswell,+sse4.1,+avx,+avx2,+fma,enforce -m 512 \
-serial stdio -no-reboot \
-kernel vmlinuz -initrd initrd.img \
-netdev user,id=user.0 -device rtl8139,netdev=user.0 -redir tcp:2222::22 \
-hda ubuntu-amd64.ext3 \
--append "rw console=tty root=/dev/sda"
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1245543/+subscriptions
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-10-07 4:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-28 15:53 [Qemu-devel] [Bug 1245543] [NEW] Wrong implementation of SSE4.1 pmovzxbw and similar instructions p12
2020-08-07 9:32 ` [Bug 1245543] " Thomas Huth
2020-10-07 4:17 ` Launchpad Bug Tracker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).