【问题标题】:Why isn't _mm_div_epi64/_mm_div_epu64 defined? [duplicate]为什么没有定义 _mm_div_epi64/_mm_div_epu64? [复制]
【发布时间】:2017-04-03 03:25:08
【问题描述】:

我注意到 _mm_div_epi64/_mm_div_epu64 没有在 simd 内在函数的标头中定义,我不明白为什么它不会。如果它是乘法,那将是有意义的,因为 64bit * 64bit = 128bit 会溢出,但 64bit / 64bit = 64bit

除非 xmm 寄存器的 64 位除法存在一些不可预见的问题。

注意:我使用的是 Visual Studio 2017

【问题讨论】:

    标签: c++ simd


    【解决方案1】:

    您正在查看哪个标题?根据Intel Intrinsics Guide,这两条指令都在“immintrin.h”中定义。

    【讨论】:

    • 我通过 intrin.h 包含 immintrin.h。我还对包含的所有文件进行了文本搜索,以找到签名。没有运气。
    • _mm_div_epi64 et alIntel SMVL 函数,而不是内在函数 - 您需要使用英特尔 ICC 编译器才能利用这些。
    猜你喜欢
    • 1970-01-01
    • 2022-08-15
    • 2013-05-11
    • 1970-01-01
    • 2016-07-24
    • 2020-01-01
    • 2013-08-16
    • 1970-01-01
    • 2021-02-04
    相关资源
    最近更新 更多