ishr (sm4 - asm)

Arithmetic shift right (sign extending).

ishr dest[.mask], src0[.swizzle], src1.select_component




[in] Contains the result of the operation.


[in] Contains the value to be shifted.


[in] Contains the shift amount.



This instruction performs a component-wise arithmetic shift of each 32-bit value in src0 right by an unsigned integer bit count provided by the LSB 5 bits (0-31 range) in src1.select_component, replicating the value of bit 31. The 32-bit per component result is placed in dest. The count is a scalar value applied to all components.

This instruction applies to the following shader stages:

Vertex ShaderGeometry ShaderPixel Shader


Minimum Shader Model

This function is supported in the following shader models.

Shader ModelSupported
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


Related topics

Shader Model 4 Assembly (DirectX HLSL)