Intrinsics _mm_add_epi32の例


#include <stdio.h>
#include <tmmintrin.h>

int main ()
{
    __m128i a, b;

    a.m128i_i16[0] = 1;
    a.m128i_i16[1] = 1;
    a.m128i_i16[2] = 100;
    a.m128i_i16[3] = -100;
    a.m128i_i16[4] = -1000;
    a.m128i_i16[5] = 1000;
    a.m128i_i16[6] = 100;
    a.m128i_i16[7] = 52;
    b.m128i_i16[0] = -128;
    b.m128i_i16[1] = -64;
    b.m128i_i16[2] = 32;
    b.m128i_i16[3] = 4096;
    b.m128i_i16[4] = 2;
    b.m128i_i16[5] = -2;
    b.m128i_i16[6] = 32000;
    b.m128i_i16[7] = 0;

    __m128i res = _mm_add_epi32(a, b);

    printf_s(“Original a:\t%6d\t%6d\t%6d\t%6d\n\t\t%6d\t%6d\t%6d\t%6d\n”,
                a.m128i_i16[0], a.m128i_i16[1], a.m128i_i16[2], a.m128i_i16[3],
                a.m128i_i16[4], a.m128i_i16[5], a.m128i_i16[6], a.m128i_i16[7]);
    printf_s(“Original b:\t%6d\t%6d\t%6d\t%6d\n\t\t%6d\t%6d\t%6d\t%6d\n”,
                b.m128i_i16[0], b.m128i_i16[1], b.m128i_i16[2], b.m128i_i16[3],
                b.m128i_i16[4], b.m128i_i16[5], b.m128i_i16[6], b.m128i_i16[7]);
    printf_s(“Result res:\t%6d\t%6d\t%6d\t%6d\n\t\t%6d\t%6d\t%6d\t%6d\n”,
                res.m128i_i16[0], res.m128i_i16[1], res.m128i_i16[2], res.m128i_i16[3],
                res.m128i_i16[4], res.m128i_i16[5], res.m128i_i16[6], res.m128i_i16[7]);

    return 0;
}

image

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中


%d人のブロガーが「いいね」をつけました。