Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Watcom C Library Reference - <u>synopsis:</u> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Synopsis:
    #include <mmintrin.h>
    __m64 _m_psubsw(__m64 *m1, __m64 *m2);

Description:
    The signed 16-bit words of m2 are subtracted from the respective signed
    16-bit words of m1 and the result is stored in memory.  Saturation
    occurs when a result exceeds the range of a signed word.  In the case
    where a result is a word larger than 0x7fff (overflow), it is clamped to
    0x7fff.  In the case where a result is a word smaller than 0x8000
    (underflow), it is clamped to 0x8000.

Returns:
    The result of subtracting the packed signed words, with saturation, of
    one 64-bit multimedia value from a second multimedia value is returned.

Example:
    #include <stdio.h>
    #include <mmintrin.h>

    #define AS_WORDS "%4.4x %4.4x %4.4x %4.4x"

    __m64   a;
    __m64   b = { 0x8aacceef02244668 };
    __m64   c = { 0x76543211fedcba98 };

    void main()
      {
        a = _m_psubsw( b, c );
        printf( "m1="AS_WORDS"\n"
                "m2="AS_WORDS"\n"
                "mm="AS_WORDS"\n",
            b._16[3], b._16[2], b._16[1], b._16[0],
            c._16[3], c._16[2], c._16[1], c._16[0],
            a._16[3], a._16[2], a._16[1], a._16[0] );
      }

    produces the following:

    m1=8aac ceef 0224 4668
    m2=7654 3211 fedc ba98
    mm=8000 9cde 0348 7fff

Classification:
    Intel

Systems:
    MACRO

See Also:
    _m_empty, _m_psubb, _m_psubd, _m_psubsb, _m_psubusb, _m_psubusw,
    _m_psubw

See Also: _m_empty _m_psubb

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson