From 1bd2ff3fc347a69db38ca6dbdf5bb35ff356e7e2 Mon Sep 17 00:00:00 2001 From: Billy Laws Date: Wed, 29 Apr 2026 02:16:57 +0000 Subject: [PATCH] unittests/ASM: Adds test for FSCALE(0, +Inf) raising IE --- unittests/ASM/FEX_bugs/FSCALE_zero_inf.asm | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 unittests/ASM/FEX_bugs/FSCALE_zero_inf.asm diff --git a/unittests/ASM/FEX_bugs/FSCALE_zero_inf.asm b/unittests/ASM/FEX_bugs/FSCALE_zero_inf.asm new file mode 100644 index 000000000..4c942d57b --- /dev/null +++ b/unittests/ASM/FEX_bugs/FSCALE_zero_inf.asm @@ -0,0 +1,30 @@ +%ifdef CONFIG +{ + "RegData": { + "RBX": "0x0001" + } +} +%endif + +; FSCALE(+0, +Inf) is 0 * 2^(+Inf) = 0 * Inf, which must raise the invalid +; operation exception (IE=1). + +mov r15, 0xe0000000 +fninit + +mov dword [r15 + 0], 0x00000000 +mov dword [r15 + 4], 0x7ff00000 + +fld qword [r15 + 0] +fldz + +fscale + +fstp qword [r15 + 16] +fstp st0 + +fnstsw ax +movzx rbx, ax +and rbx, 1 + +hlt