# deq (sm5 - asm)

Component-wise double-precision equality comparison.

deq[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle] |
---|

Item | Description |
---|---|

dest |
[in] The address of the results of the operation. |

src0 |
[in] The components to compare to src1. |

src1 |
[in] The components to compare to src0. |

## Remarks

This instruction performs the double-precision floating-point comparison (*src0* == *src1*) for each component and writes the result to *dest*.

If the comparison is true, then 32-bit 0xFFFFFFFF is returned for that component. Otherwise 32-bit 0x00000000 is returned.

Comparison with NaN returns false.

The valid *dest* masks are any one or 2 components. That is: .x, .y, .z, .w, .xy, .xz, .xw, .yz, .yw, .zw The first *dest* component in the mask receives the 32-bit result for the first double comparison. The second component in the mask, if present, receives the 32-bit result for the second double comparison.

The valid swizzles for the source parameters are .xyzw, .xyxy, .zwxy, .zwzw. The following *src* mappings are post-swizzle:

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

This instruction applies to the following shader stages:

Vertex | Hull | Domain | Geometry | Pixel | Compute |
---|---|---|---|---|---|

X | X | X | X | X | X |

## Minimum Shader Model

This instruction is supported in the following shader models:

Shader Model | Supported |
---|---|

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 |