Прерывание инструкции AVX2 в Visual Studio 2013

Вот код C++:

#include <stdio.h>
#include <iostream>
#include <immintrin.h>
using namespace std;

int main(int argc, char* argv[]) {
    char a[100];

    for (int i = 0; i < 32; i++)
        a[i] = 1;

    for (int i = 32; i < 64; i++)
        a[i] = 0;

    __m256i x = _mm256_loadu_si256((__m256i *)(a));
    __m256i y = _mm256_loadu_si256((__m256i *)(a + 32));

    for (int i = 0; i < 32; i++)
        cout << (int)x.m256i_i8[i];
    cout << endl;

    for (int i = 0; i < 32; i++)
        cout << (int)y.m256i_i8[i];
    cout << endl;

    __m256i z = _mm256_xor_si256(x, y);

    for (int i = 0; i < 32; i++)
        cout << (int)z.m256i_i8[i];
    cout << endl;

    return 0;
}

Когда я запускаю этот код в VS2013, операция xor будет прерываться.

И я думаю, что мой процессор может поддерживать AVX2, поскольку x и y могут быть успешно выведены.

Может кто-нибудь сказать мне, как это исправить, пожалуйста?

0 ответов

Другие вопросы по тегам