使用VS 2017的_mm_extract_si64 API调用中未处理的异常

时间:2018-06-24 19:40:27

标签: c++ visual-studio intel msdn intrinsics

使用Visual C ++ 2017版本,以下示例代码(如https://msdn.microsoft.com/en-us/library/bb384811.aspx所示)正在运行,但未处理异常。

// Compile this sample with: /EHsc  
#include <iostream>  
#include <intrin.h>  
using namespace std;  

union {  
    __m128i m;  
    unsigned __int64 ui64[2];  
} source, descriptor, result1, result2, result3;  

int  
main()  
{  
    source.ui64[0] =     0xfedcba9876543210ll;  
    descriptor.ui64[0] = 0x0000000000000b1bll;  

    result1.m = _mm_extract_si64 (source.m, descriptor.m);  // here unhandled-exception occurs
    result2.m = _mm_extracti_si64(source.m, 27, 11);  
    result3.ui64[0] = (source.ui64[0] >> 11) & 0x7ffffff;  

    cout << hex << "result1 = 0x" << result1.ui64[0] << endl;  
    cout << "result2 = 0x" << result2.ui64[0] << endl;  
    cout << "result3 = 0x" << result3.ui64[0] << endl;  
}

我正在Windows 7 Ultimate和Intel Core i3 4030U处理器上使用VS 2017运行此程序。 这是怎么了怎么解决?请提出建议。

0 个答案:

没有答案