This content has not been validated; it was AI-generated following the x86-64 ISA Documentation generation process to maintain high quality. However, as no human has verified this data, errors may exist. If the accuracy of this data is critical, please consult the Intel SDM. The model used to generate this is gemma4:31b
CVTSS2SI
Converts a scalar single-precision floating-point value to a signed integer. The conversion is performed by truncating the fraction (rounding toward zero).
The following table covers what the source and destinations can be:
| source | destination(s) |
|---|---|
| f32 | r32 |
| f32 | r64 |
| m32 (f32) | r32 |
| m32 (f32) | r64 |
DO NOT support LOCK
This instruction requires SSE3 support. In 64-bit mode, the destination register can be either a 32-bit or 64-bit general-purpose register. If a 32-bit register is specified, the result is truncated to i32; if a 64-bit register is specified, the result is sign-extended to i64.
If the converted value is too large to be represented in the destination integer type, the instruction SHALL signal #O and the destination register SHALL be set to the indefinite integer value (maximum or minimum representable value for the target size, depending on the sign). If the source is a Signaling NaN, #I SHALL be signaled. Precision #P is signaled if the result is rounded.