imad (sm4 - asm)
Signed integer multiply and add.
imad dest[.mask], [-]src0[.swizzle], [-]src1[.swizzle], [-]src2[.swizzle] |
---|
Item | Description |
---|---|
dest |
[in] The result of the operation. |
src0 |
[in] Value to multiply with src1. |
src1 |
[in] Value to multiply with src0. |
src2 |
[in] Value to add to the product of src0 and src1. |
Remarks
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 |
---|---|---|
x | x | x |
Minimum Shader Model
This function is supported in the following shader models.
Shader Model | Supported |
---|---|
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 |