Copy src1 into dest before the masked vrangeps so that unmasked lanes (normal/inf/NaN values) are preserved via merge-masking. Previously, when the register allocator assigned different physical registers for dest and src1, unmasked lanes would retain stale values from dest. Tested with Intel SDE and AVX-512 cpu to verify. Also shift unused FpRangeSign constants into bits [3:2] of the vrangeps immediate, matching the Intel encoding. Only one used in the code was 0 so it was already correct by accident but using the others in the future would produce incorrect results.
2.0 KiB
2.0 KiB