Skip to content

Fix CVTTPS2PI low lane using high lane for lower-bound check - #1068

Merged
ptitSeb merged 1 commit into
ptitSeb:masterfrom
As9xm:fix/cvttps2pi-low-lane-check
Sep 11, 2026
Merged

ptitSeb merged 1 commit into
ptitSeb:masterfrom
As9xm:fix/cvttps2pi-low-lane-check

Conversation

@As9xm

@As9xm As9xm commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Case 0x2C (CVTTPS2PI Gm,Ex) validated GM.sd[0] against EX->f[1] for the negative-overflow test instead of EX->f[0]. The high lane just above correctly tests f[1] twice, and CVTPS2PI just below loops per-lane with f[i]. A low lane in range paired with an out-of-range high lane (e.g. f0=1.0, f1=-3e9) wrongly produced the 0x80000000 indefinite value, and a truly underflowing low lane could slip through. Test the low lane against itself.

Case 0x2C (CVTTPS2PI Gm,Ex) validated GM.sd[0] against EX->f[1] for the negative-overflow test instead of EX->f[0]. The high lane just above correctly tests f[1] twice, and CVTPS2PI just below loops per-lane with f[i]. A low lane in range paired with an out-of-range high lane (e.g. f0=1.0, f1=-3e9) wrongly produced the 0x80000000 indefinite value, and a truly underflowing low lane could slip through. Test the low lane against itself.
@ptitSeb
ptitSeb merged commit 707a141 into ptitSeb:master Sep 11, 2026
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants