SSE CMP ops with 8bit immediate throw sigill with oversized byte

Bug #1832422 reported by FEX-Emu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Expired
Undecided
Unassigned

Bug Description

The SSE comparison ops that use an 8bit immediate as a comparison type selector throws a sigill when the immediate is oversized.

Test op that I found this on is here `66 0f c2 c0 d1 cmppd xmm0,xmm0,0xd1`
According to the x86-64 documentation only bits [2:0] are used for these ops (and [4:0] for the AVX variant)
Currently qemu just checks if the value is >=8 and will throw a sigill in that case. It instead needs to mask.

I have a small patch that fixes the issue for the SSE variant.

Revision history for this message
FEX-Emu (fex-emu) wrote :
Revision history for this message
Thomas Huth (th-huth) wrote : Moved bug report

This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:

 https://gitlab.com/qemu-project/qemu/-/issues/184

Changed in qemu:
assignee: nobody → Paolo Bonzini (bonzini)
assignee: Paolo Bonzini (bonzini) → nobody
status: New → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.