imad (sm4 - asm)
Signed integer multiply and add.
|imad dest[.mask], [-]src0[.swizzle], [-]src1[.swizzle], [-]src2[.swizzle|
[in] The result of the operation.
[in] Value to multiply with src1.
[in] Value to multiply with src0.
[in] Value to add to the product of src0 and src1.
Component-wise imul of 32-bit operands src0 and src1 (signed), keeping low 32-bits (per component) of the result, followed by an iadd of src2, producing the correct low 32-bit (per component) result. The 32-bit results are placed in dest.
Optional negate modifier on source operands takes 2's complement before performing arithmetic operation.
This instruction applies to the following shader stages:
|Vertex Shader||Geometry Shader||Pixel Shader|
This function is supported in the following shader models.
|Shader Model 5||yes|
|Shader Model 4.1||yes|
|Shader Model 4||yes|
|Shader Model 3 (DirectX HLSL)||no|
|Shader Model 2 (DirectX HLSL)||no|
|Shader Model 1 (DirectX HLSL)||no|