Like the ``frexp()`` routine in many math libraries, this opcode stores the
exponent of its source to ``dst0``, and the significand to ``dst1``, such that
-:math:`dst1 \times 2^{dst0} = src` .
+:math:`dst1 \times 2^{dst0} = src` . The results are replicated across
+channels.
.. math::
- dst0.xy = exp(src.xy)
+ dst0.xy = dst.zw = frac(src.xy)
- dst1.xy = frac(src.xy)
+ dst1 = frac(src.xy)
- dst0.zw = exp(src.zw)
-
- dst1.zw = frac(src.zw)
.. opcode:: DLDEXP - Multiply Number by Integral Power of 2
dst.xy = src0.xy \times 2^{src1.x}
- dst.zw = src0.zw \times 2^{src1.y}
+ dst.zw = src0.zw \times 2^{src1.z}
.. opcode:: DMIN - Minimum
TGSI_SEMANTIC_SUBGROUP_LT_MASK
""""""""""""""""""""""""""""""
-A bit mask of ``bit index > TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
+A bit mask of ``bit index < TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
``(1 << subgroup_invocation) - 1`` in arbitrary precision arithmetic.