ftod (sm5 - asm)

Component-wise conversion from single-precision floating-point data to double-precision floating-point data.

ftod dest[.mask], [-]src[.swizzle],




[in] The address of the converted data.


[in] The data to be converted.



Each component of the source is converted from the single-precision representation to the double-precision representation.

The valid dest masks are .xy, .zw, and .xyzw. .xy receives the result of the first conversion, and .zw receives the result of the second conversion.

dest is a double vec2 across (x 32LSB, y 32MSB) and (z 32LSB, w 32MSB).

src is a float vec2 across x and y (zw ignored) (post swizzle).

For float32<->double conversions, implementations may either honor float32 denorms or may flush them.

This instruction applies to the following shader stages:



Minimum Shader Model

This instruction is supported in the following shader models:

Shader ModelSupported
Shader Model 5 yes
Shader Model 4.1 no
Shader Model 4 no
Shader Model 3 (DirectX HLSL) no
Shader Model 2 (DirectX HLSL) no
Shader Model 1 (DirectX HLSL) no


Related topics

Shader Model 5 Assembly (DirectX HLSL)