尝试将一些Windows C ++代码移植到Linux + clang。
这是一个功能:
inline __m256i XM_CALLCONV maskload_epi64( const int64_t *mem_addr, __m256i mask )
{
return _mm256_maskload_epi64( mem_addr, mask );
}
这是一个编译器输出:
no matching function for call to '_mm256_maskload_epi64'
return _mm256_maskload_epi64( mem_addr, mask );
^~~~~~~~~~~~~~~~~~~~~
/usr/include/clang/4.0.0/include/avx2intrin.h:989:1: note: candidate function
not viable: no known conversion from 'const int64_t *'
(aka 'const long *') to 'const long long *' for 1st argument
_mm256_maskload_epi64(long long const *__X, __m256i __M)
是否有编译器开关在不同的64位内置类型之间进行转换而没有错误?