add (sm4 - asm)

Component-wise add of 2 vectors.

add[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle]
Item Description
dest
[in] The address of the result of the operation.
src0
[in] The vector to add to src1.
src1
[in] The vector to add to src0.

Remarks

The following table shows the results obtained when executing the instruction with various classes of numbers, assuming that neither overflow or underflow occurs. F means finite real number.

src0 src1-> -inf -F -denorm -0 +0 denorm +F +inf NaN
-inf -inf -inf -inf -inf -inf -inf -inf NaN NaN
-F -inf -F src0 src0 src0 src0 +-F or +-0 +inf NaN
-denorm -inf src1 -0 -0 +0 +0 src1 +inf NaN
-0 -inf src1 -0 -0 +0 +0 src1 +inf NaN
+0 i-inf src1 +0 +0 +0 +0 src1 +inf NaN
+denorm -inf src1 +0 +0 +0 +0 src1 +inf NaN
+F -inf +-F or +-0 src0 src0 src0 src0 +F +inf NaN
+inf NaN +inf +inf +inf +inf +inf +inf +inf NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

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

Shader Model 4 Assembly (DirectX HLSL)