5

SSE4.1 組み込み関数をサポートしている (と思う) ハードウェアで SSE4.1 組み込み関数を使用するのに問題があります。私が何かを逃したかどうか誰かに教えてもらえますか?

MacBookPro5,4 (Penryn) で次のコードをビルドします。

>g++ -msse sse4.cpp -S -o sse4.asm

#include <stdio.h>
#include <smmintrin.h>

int main ()
{
    __m128 a, b;
    const int mask = 0x55;

    a.m128_f32[0] = 1.5;
    a.m128_f32[1] = 10.25;
    a.m128_f32[2] = -11.0625;
    a.m128_f32[3] = 81.0;
    b.m128_f32[0] = -1.5;
    b.m128_f32[1] = 3.125;
    b.m128_f32[2] = -50.5;
    b.m128_f32[3] = 100.0;

    __m128 res = _mm_dp_ps(a, b, mask);

    printf_s("Original a: %f\t%f\t%f\t%f\nOriginal b: %f\t%f\t%f\t%f\n",
                a.m128_f32[0], a.m128_f32[1], a.m128_f32[2], a.m128_f32[3],
                b.m128_f32[0], b.m128_f32[1], b.m128_f32[2], b.m128_f32[3]);
    printf_s("Result res: %f\t%f\t%f\t%f\n",
                res.m128_f32[0], res.m128_f32[1], res.m128_f32[2], res.m128_f32[3]);

    return 0;
}

次のエラーが生成されます。

/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/smmintrin.h:35:3: error: #error "SSE4.1 instruction set not enabled"
4

2 に答える 2

12

変化する:

g++ -msse sse4.cpp -S -o sse4.asm

に:

g++ -msse4.1 sse4.cpp -S -o sse4.asm

于 2010-09-20T18:54:30.053 に答える
3

試しましたg++ -msse4.1か?

于 2010-09-20T18:56:23.630 に答える