Suppose an SSE register contains one or more packed values not representable as a 32-bit int (such as Inf or NaN), and a convert-to-int is invoked, such as _mm_cvtpd_epi32 / cvtpd2dq.
The answers to these questions can mostly be found in the Intel® 64 and IA-32 Architectures Software Developer’s Manual:
CVTPD2DQ
... If a converted result is larger than the maximum signed doubleword integer, the floating-point invalid exception is raised, and if this exception is masked, the indefinite integer value (80000000H) is returned.
It's not spelled out clearly in this section, but this also applies to infinities and NaNs. So:
0x80000000.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With