Share via


__m64_padd2uus

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

Específicos do Microsoft

Emite o IPF padd2.uus (o formulário de saturação de 2 bytes, não assinado, assinado, assinado de adicionar paralelo) da instrução.

__m64 __m64_padd2uus( 
   __m64 a, 
   __m64 b 
);

Parâmetros

  • [in]a
    O primeiro campo de 64 bits que contém seções de 2 bytes a ser adicionado.

  • [in]b
    O segundo campo de 64 bits que contém seções de 2 bytes a ser adicionado.

Requirements

Intrínseco

Arquitetura

__m64_padd1uus

IPF

Arquivo de cabeçalho <intrin.h>

Remarks

__m64_padd2uusadiciona cada seção de 2 bytes de um operando com a seção correspondente de 2 bytes do segundo e coloca o resultado na seção 2-byte correspondente do resultado. Os valores do primeiro operando são considerados não assinados e os valores do segundo operando são considerados assinado. Os valores resultantes são considerados não assinados.

Se o resultado da adição estourar 2 bytes, o valor esteja saturado e a seção de 16 bits é definida a 0xFFFF. Se o resultado de estouros de negativos os adição, os 16 bits é definido como zero.

Exemplo

// padd2uus.cpp
// processor: IPF
#include <stdio.h>
#include <intrin.h>

#pragma intrinsic(__m64_padd2uus)

int main()
{
    __m64 m, n, result;
    m.m64_i64 = 0x110022003300ff00;  
    n.m64_i64 = 0x01100220033000ff;
    result = __m64_padd2uus(m, n);
    printf_s("__m64_padd2uus(%#18I64x, %#18I64x) ==\n %#18I64x\n",
             m, n, result);

    // This operation is not commutative!  The second parameter
    // is signed, so 0xff00 will be interpreted as a negative 
    // integer (-256). When added to 0x00ff (256), the result is 0.
    result = __m64_padd2uus(n, m);
    printf_s("__m64_padd2uus(%#18I64x, %#18I64x) ==\n %#18I64x\n",
             n, m, result);
}
          
        

Consulte também

Reference

__m64

Intrínsecos do compilador