Module core::arch::x86_64 1.27.0[−][src]
Expand description
特定于平台的用于 x86_64
平台的内部函数。
有关更多详细信息,请参见 模块级文档。
Structs
128 位宽的一组 8 个 u16
类型,特定于 x86
256 位宽的 16 种 u16
类型集,特定于 x86
512 位宽的十六种 f32
类型集,特定于 x86
512 位宽的 32 种 u16
类型集,特定于 x86
八种 f64
类型的 512 位宽集,特定于 x86
512 位宽的整数 vector 类型,特定于 x86
cpuid
指令的结果。
四种 f32
类型的 128 位宽集,特定于 x86
两种 f64
类型的 128 位宽集,特定于 x86
128 位宽的整数 vector 类型,特定于 x86
256 位宽的八种 f32
类型的集合,特定于 x86
256 位宽的四种 f64
类型的集合,特定于 x86
256 位宽的整数 vector 类型,特定于 x86
Constants
Equal
False
Less-than-or-equal
Less-than
Not-equal
不小于等于
不小于
True
间隔 [1,2)
间隔 [0.5,1)
间隔 [0.5,2)
间隔 [0.75,1.5)
如果 sign(SRC) =1,则 DEST=NaN
sign = sign(SRC)
sign = 0
事务终止,因为事务使用了过多的内存。
由于与另一个线程发生内存冲突而导致事务终止。
事务由于调试陷阱而终止。
使用 xabort 显式中止了事务。
传递给 xabort 的参数可用于 _xabort_code(status)
。
内部嵌套事务中的事务终止。
事务重试是可能的。
事务成功开始。
相等 (有序,无信号)
相等 (有序,发信号)
相等 (无序,无信号)
相等 (无序,发信号)
错误 (有序,无信号)
错误 (有序,发信号)
大于或等于 (有序,无信号)
大于或等于 (有序,发信号)
大于 (有序,无信号)
大于 (有序,发信号)
小于或等于 (有序,无信号)
小于或等于 (有序,发信号)
小于 (有序,无信号)
小于 (有序,发信号)
不相等 (有序,无信号)
不相等 (有序,发信号)
不相等 (无序,无信号)
不相等 (无序,发信号)
不大于等于 (无序,无信号)
不大于等于 (无序,发信号)
不大于 (无序,无信号)
不大于 (无序,发信号)
不小于等于 (无序,无信号)
不小于等于 (无序,发信号)
不少于 (无序,无信号)
不少于 (无序,发信号)
订购 (无信号)
订购 (发信号)
真 (无序,无信号)
真 (无序,发信号)
无序 (无信号)
无序 (发信号)
向上舍入并且不抑制异常
使用 MXCSR.RC; 请参见 vendor::_MM_SET_ROUNDING_MODE
四舍五入,不抑制异常
使用 MXCSR.RC 并抑制异常; 请参见 vendor::_MM_SET_ROUNDING_MODE
四舍五入到最接近,不排除异常
不要抑制异常
使用 MXCSR.RC 且不抑制异常; 请参见 vendor::_MM_SET_ROUNDING_MODE
四舍五入到最接近的
truncate
截断并且不抑制异常
仅掩码: 返回位掩码
对于 a
中的每个字符,查找它是否在 b
中 (默认)
a
和 b
定义的字符串相等
在目标中搜索定义的子字符串
对于 a
中的每个字符,确定 b[0] <= c <= b[1] or b[1] <= c <= b[2]...
仅索引: 返回最低有效位 (默认)
仅在字符串结尾之前取反结果
不要在字符串结尾之前取反结果
仅索引: 返回最高有效位
不取消结果 (默认)
字符串包含带符号的 8 位字符
字符串包含无符号的 16 位字符
字符串包含无符号的 8 位字符 (默认)
仅掩码: 返回字节掩码
字符串包含无符号的 16 位字符
XFEATURE_ENABLED_MASK
为 XCR
Functions
一个实用程序函数,用于创建与 Intel 重排和置换内部函数一起使用的掩码。
在 a 和 b 中添加 32 位掩码,并将结果存储在 k 中。
在 a 和 b 中添加 64 位掩码,并将结果存储在 k 中。
计算 16 位掩码 a 和 b 的按位与,并将结果存储在 k 中。
计算 32 位掩码 a 和 b 的按位与,并将结果存储在 k 中。
计算 64 位掩码 a 和 b 的按位与,并将结果存储在 k 中。
计算 16 位掩码 a 的按位非,然后与 b 计算 AND,并将结果存储在 k 中。
计算 32 位掩码 a 的按位非,然后与 b 计算 AND,并将结果存储在 k 中。
计算 64 位掩码 a 的按位非,然后与 b 进行与运算,并将结果存储在 k 中。
计算 16 位掩码 a 的按位非,并将结果存储在 k 中。
计算 32 位掩码 a 的按位非,并将结果存储在 k 中。
计算 64 位掩码 a 的按位非,并将结果存储在 k 中。
计算 16 位掩码 a 和 b 的按位或,并将结果存储在 k 中。
计算 32 位掩码 a 和 b 的按位或,并将结果存储在 k 中。
计算 64 位掩码 a 和 b 的按位或,并将结果存储在 k 中。
计算 16 位掩码 a 和 b 的按位 XNOR,并将结果存储在 k 中。
计算 32 位掩码 a 和 b 的按位 XNOR,并将结果存储在 k 中。
计算 64 位掩码 a 和 b 的按位 XNOR,并将结果存储在 k 中。
计算 16 位掩码 a 和 b 的按位 XOR,并将结果存储在 k 中。
计算 32 位掩码 a 和 b 的按位 XOR,并将结果存储在 k 中。
计算 64 位掩码 a 和 b 的按位 XOR,并将结果存储在 k 中。
将内存中的 32 位掩码加载到 k 中。
将内存中的 64 位掩码加载到 k 中。
计算 a 中包装的带符号的 64 位整数的绝对值,并将无符号的结果存储在 dst 中。
使用 round_key
中的相应 128 位字 (key) 对 a
中的每个 128 位字 (state) 执行一轮 AES 解密流程。
使用 round_key
中的相应 128 位字 (key) 对 a
中的每个 128 位字 (state) 执行最后一轮 AES 解密流程。
使用 round_key
中的相应 128 位字 (key) 对 a
中的每个 128 位字 (state) 执行一轮 AES 加密流程。
使用 round_key
中的相应 128 位字 (key) 对 a
中的每个 128 位字 (state) 执行最后一轮 AES 加密流程。
将 a 和 b 连接成一个 64 字节的 immediate 结果,将结果右移 imm8 个 32 位元素,并将低 32 字节 (8 个元素) 存储在 dst 中。
将 a 和 b 连接成 64 字节的 immediate 结果,将结果右移 imm8 个 64 位元素,并将低 32 字节 (4 个元素) 存储在 dst 中。
将输入 b
视为包装的 64 位整数,并将 c
视为包装的 8 位整数。
然后将来自 c
的 8 个 8 位值作为索引分组到相应的 64 位整数的位中。
然后,选择这些位并将其包装到输出中。
从 a 广播 4 个包装的单精度 (32-bit) 浮点元素到 dst 的所有元素。
将 4 个包装的 32 位整数从 a 广播到 dst 的所有元素。
将输入掩码 k 的低 8 位广播到 dst 的所有 64 位元素。
将输入掩码 k 的低 16 位广播到 dst 的所有 32 位元素。
在 2 个 128 位 lanes 中的每个 lanes 中,在有限域 GF(2^k) 上执行两个 64 位多项式的无进位乘法。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装带符号 8 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号 16 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装有符号 32 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 64 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 8 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 16 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 32 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 64 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 32 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 64 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 32 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数以得出小于或等于的结果,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数小于零,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数小于零,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数以得到小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装后的无符号 16 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 32 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否不相等,并将结果存储在掩码 vector k 中。
测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
测试 a 的每个 64 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
将 a 中的包装的 16 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 32 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 16 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 32 位整数,并将结果存储在 dst 中。
将 A 中的包装的无符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
将两个 256 位 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并将结果存入 a
将包装在 a 中的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并将结果存储在 dst 中。 Intel’s documentation
将包装的双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并将结果存储在 dst 中。
将 128 位 vector a
中的 8 x 16 位半精度浮点值转换为存储在 256 位宽 vector 中的 8 x 32 位浮点值。
将包装的单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并将结果存储在 dst 中。
将 256 位 vector a
中的 8 x 32 位浮点值转换为 8 x
16 位半精度浮点值存储在 128 位宽的 vector 中。
将 A 中的包装有符号 16 位整数转换为带符号饱和的包装 8 位整数,并将结果存储在 dst 中。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并将结果存储在 dst 中。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 8 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 16 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并将结果存储在 dst 中。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并将结果存储在 dst 中。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 A 中的包装无符号 32 位整数转换为具有无符号饱和度的包装无符号 16 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并将结果存储在 dst 中。
将 A 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并将结果存储在 dst 中。
计算 a 中与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs),并将 16 位结果存储在 dst 中。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间单精度 (32-bit) 浮点元素与 src 中的元素相加,并将结果存储在 dst 中。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果存入 dst。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。使用有符号饱和将这 4 个结果与 src 中相应的 32 位整数相加,并将包装的 32 位结果存储在 dst 中。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果存入 dst。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并将包装的 32 位结果存储在 dst 中。
从 a 提取 128 位 (由 4 个包装的单精度 (32-bit) 浮点元素组成),并用 imm8 进行选择,并将结果存储在 dst 中。
从 a 中提取 128 位 (由 4 个包装的 32 位整数组成),用 IMM1 选中,结果存入 dst。
使用 c 中的包装的 64 位整数修复 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。imm8 用于设置所需的标志报告。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并将结果存储在 dst 中。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,并将结果存储在 dst 中。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数规格化,并将结果存储在 dst 中。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
将 a 中的包装的单精度 (32-bit) 浮点元素的尾数标准化,并将结果存储在 dst 中。 此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。 尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值: _MM_MANT_NORM_1_2 // interval [1, 2) _MM_MANT_NORM_p5_2 // interval [0.5, 2) _MM_MANT_NORM_p5_1 // interval [0.5, 1) _MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5) The sign is determined by sc which can take the following values:
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
将 a 复制到 dst,然后将 b 中的 128 位 (由 4 个压缩单精度 (32 位) 浮点元素组成) 插入到 dst 中 imm8 指定的位置。
将 a 复制到 dst,然后将 b 中的 128 位 (由 4 个压缩的 32 位整数组成) 插入到 dst 中 imm8 指定的位置。
将 256 位 (由 8 个包装的 32 位整数组成) 从内存加载到 dst 中。mem_addr 必须在 32 字节边界上对齐,否则可能会生成一般保护异常。
将 256 位 (由 4 个包装的 64 位整数组成) 从内存加载到 dst 中。mem_addr 必须在 32 字节边界上对齐,否则可能会生成一般保护异常。
将 256 位 (由 32 个包装的 8 位整数组成) 从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
将 256 位 (由 16 个包装的 16 位整数组成) 从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
将 256 位 (由 8 个包装的 32 位整数组成) 从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
将 256 位 (由 4 个包装的 64 位整数组成) 从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
计算 a 中每个包装的 32 位整数中前导零位的数目,并将结果存储在 dst 中。
计算 a 中每个包装的 64 位整数中前导零位的数目,并将结果存储在 dst 中。
将 b
和 c
的每个 64 位元素中的包装无符号 52 位整数相乘以形成 104 位中间结果。
将中间结果的高 52 位无符号整数与 a
中的相应无符号 64 位整数相加,并将结果存储在 dst
中。
将 b
和 c
的每个 64 位元素中的包装无符号 52 位整数相乘以形成 104 位中间结果。
将中间结果的低 52 位无符号整数与 a
中的相应无符号 64 位整数相加,并将结果存储在 dst
中。
使用相应的选择器和 idx 中的索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 writemask k 将结果存储在 dst 中 (当相应的掩码位未设置时,从 a 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)
使用 idx 中的对应选择器和索引在 a 和 b 中的 lanes 中对 a 和 b 中的单精度 (32-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
在 a 和 b 中分别乘以包装的单精度 (32-bit) 浮点元素,或者在 to/from 中将中间结果乘以包装的元素加减乘以 x,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 c 复制元素) 放)。
在 a 和 b 中分别乘以包装的单精度 (32-bit) 浮点元素,或者在 to/from 中将中间结果乘以包装的元素加减乘以 x,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 c 复制元素) 放)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 c 复制元素)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,并使用 writemask k 将结果存储在 dst 中 (当未使用相应的 mask 位时从 c 复制元素) 放)。
在 a 和 b 中乘以包装的单精度 (32-bit) 浮点元素,或者在中间结果中减去并在 c from/to 中包装的元素相乘,然后使用 writemask k 将结果存储在 dst 中 (当未使用相应的 mask 位时从 c 复制元素) 放)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 c 复制)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
计算 a 中包装的带符号的 8 位整数的绝对值,并使用写掩码 k 将无符号的结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的带符号的 16 位整数的绝对值,并使用写掩码 k 将无符号的结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的有符号 32 位整数的绝对值,并使用 writemask k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的带符号的 64 位整数的绝对值,并使用写掩码 k 将无符号的结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的带符号的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的带符号的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的 16 字节块对连接成 32 字节的临时结果,将结果右移 imm8 字节,并使用写掩码 k 将低 16 个字节存储在 dst 中 (当相应的屏蔽位未置位时,从 src 复制元素)。
将 a 和 b 连接成 64 字节的 immediate 结果,将结果右移 imm8 个 32 位元素,并使用 writemask k 将低 32 字节 (8 个元素) 存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 连接成 64 字节的 immediate 结果,将结果右移 imm8 个 64 位元素,并使用 writemask k 将低 32 字节 (4 个元素) 存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在包装的 a 和 b 的 32 位整数元素之间执行逐个元素的按位 AND,使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位与,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的 32 位整数的按位 NOT,然后与 b 计算 AND,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的 64 位整数的按位 NOT,然后与 b 计算 AND,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 8 位整数平均,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 16 位整数进行平均,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将输入 b
视为包装的 64 位整数,并将 c
视为包装的 8 位整数。
然后将来自 c
的 8 个 8 位值作为索引分组到相应的 64 位整数的位中。
然后,选择这些位并将其包装到输出中。
使用控制掩码 k 混合 a 和 b 中的包装 8 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装的 16 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合 a 和 b 中的包装 32 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合 a 和 b 中的包装 64 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装后的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
使用写掩码 k 将 4 个包装的单精度 (32-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 a 的 4 个包装的 32 位整数广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 d 的低包装的 8 位整数广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 32 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 64 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低双精度 (64-bit) 浮点型元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低单精度 (32-bit) 浮点型元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 32 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 64 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 8 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 32 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否相等,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的 32 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的 64 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数是否等于或大于等于,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否大于等于,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数是否大于,并将结果使用零掩码 k1 存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数 (小于或等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数 (小于等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的无符号 8 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数 (小于或等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的带符号的 64 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数以得到小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的 32 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将清零)。
比较 a 和 b 中包装的无符号 8 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的活动 8 位整数 (它们各自的位设置在写掩码 k 中) 连续存储到 dst,并通过 src 中的其余元素。
将 a 中的活动 16 位整数 (它们各自的位设置在写掩码 k 中) 连续存储到 dst,并通过 src 中的其余元素。
将活跃的 32 位整数连续存储在 dst 中 (它们各自的位在写掩码 k 中设置的整数) 到 dst,并通过 src 中的其余元素。
将活跃的 64 位整数连续存储在 dst 中 (它们各自的位在写掩码 k 中设置的整数) 到 dst,并通过 src 中的其余元素。
将活跃的双精度 (64-bit) 浮点元素连续存储在 dst 中 (它们各自的位在写掩码 k 中设置) 到 dst,并通过 src 中的其余元素。
将活跃的单精度 (32-bit) 浮点元素连续存储在 dst 中 (将其各自的位设置在写掩码 k 中的那些元素中) 存储到 dst,并通过 src 中的其余元素。
使用写掩码 k (当未设置相应的掩码位时,将从 src 复制元素),测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
使用写掩码 k 测试 a 的每个 64 位元素是否与所有其他元素相等 (更接近最低有效位) (当未设置相应的掩码位时,将从 src 复制元素)。每个元素的比较在 dst 中形成零扩展位 vector。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
使用符号将包装的 8 位整数从 a 扩展为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
符号将包装的 8 位整数从 a 扩展为包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 的低 4 字节中的 8 位整数符号扩展为包装的 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将从 src 复制)。
将带有 a 的包装的 16 位整数转换为带截断的 8 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
符号将包装后的 16 位整数从 a 扩展为包装后的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用符号将包装的 16 位整数从 a 扩展为包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 16 位整数转换为带有截断的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将带有 a 的包装的 32 位整数转换为带截断的包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用符号将包装的 32 位整数从 a 扩展为包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装有符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装有符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数在 a 中转换为带有截断的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的 32 位整数转换为带截断的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的 64 位整数转换为带有截断的包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 64 位整数转换为带截断的 16 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 64 位整数转换为带截断的 32 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中包装的 64 位整数转换为包装的 8 位整数并截断,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 的未对齐内存中。
将 a 中的包装的 64 位整数转换为带截断的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的 64 位整数转换为带截断的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 8 位整数零扩展为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
零扩展包装的无符号 8 位整数在 a 的低 8 字节到包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
零扩展包装的无符号 8 位整数在 a 的低 4 字节到包装的 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 16 位整数零扩展为包装 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
零扩展包装的无符号 16 位整数 a 的低 8 字节到包装的 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数零扩展为包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数转换为包装双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将两个 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并使用 writemask k 将结果存储在单个 vector dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装后的半精度 (16-bit) 浮点元素转换为包装后的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的包装带符号的 16 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 16 位整数转换为有符号饱和的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 32 位整数转换为具有符号饱和的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 32 位整数转换为具有符号饱和的包装的 16 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的无符号 16 位整数转换为具有无符号饱和的包装的无符号 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的无符号 32 位整数转换为具有无符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的无符号 32 位整数转换为具有无符号饱和的包装的无符号 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的无符号 64 位整数在 a 中转换为具有无符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 的未对齐内存中。
将包装在 a 中的无符号 64 位整数转换为具有无符号饱和的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装的无符号 64 位整数在 a 中转换为具有无符号饱和的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
计算 a 中的无符号 8 位整数与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs),并使用写掩码 k 将 16 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
将 a 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素除以 b 中的包装的元素,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间的单精度 (32-bit) 浮点元素与 src 中的元素相加,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (未设置相应掩码位时从 src 复制元素)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。使用符号饱和将这 4 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动 8 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动 16 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的有效 32 位整数 (它们各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的有效 64 位整数 (它们各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动双精度 (64-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中加载连续的活动单精度 (32-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 提取 128 位 (由 4 个包装的单精度 (32-bit) 浮点元素组成),并用 imm8 进行选择,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中提取 128 位 (由 4 个包装的 32 位整数组成),用 IMM1 选中,用 writemask k 将结果存入 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 c 中的包装 64 位整数修复 a 和 b 中的包装双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 a 复制元素)。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 a 复制元素)。imm8 用于设置所需的标志报告。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 a 复制元素)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 a 中复制元素放)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位则从 a 复制元素放)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (如果未设置相应的掩码位,则从 a 复制元素)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 a 复制元素)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,并使用 writemask k 将结果存储在 dst 中 (当未使用相应的掩码位时,元素将从 a 复制放)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 a 复制元素放)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数标准化,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
标准化 a 中包装的单精度 (32-bit) 浮点元素的尾数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
将 a 复制到 tmp,然后将 b 中的 128 位 (由 4 个压缩单精度 (32 位) 浮点元素组成) 插入到 tmp 中 imm8 指定的位置。使用写掩码 k 将 tmp 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 复制到 tmp,然后在 imm8 指定的位置,将 b 中的 128 位 (由 4 个包装的 32 位整数组成) 插入 tmp。使用写掩码 k 将 tmp 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中每个包装的 32 位整数中前导零位的数目,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中每个包装的 64 位整数中前导零位的数目,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。水平添加相邻的中间 32 位整数对,并使用 writemask k 将结果打包到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 8 位整数与 b 中的包装有符号 8 位整数相乘,生成中间有符号的 16 位整数。水平相加相邻的中间带符号的 16 位整数对,并使用写掩码 k 将饱和结果包装到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 8 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 16 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 8 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 16 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 32 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 64 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 8 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号 16 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 8 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 16 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 32 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 64 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 8 位整数从 a 移到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 16 位整数从 a 移到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 32 位整数从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 64 位整数从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的双精度 (64-bit) 浮点元素从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的单精度 (32-bit) 浮点元素从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 复制偶数索引的双精度 (64-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 复制奇数索引的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 复制偶数索引的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中每个包装的 64 位元素的低符号 32 位整数相乘,并使用写掩码 k 将有符号的 64 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中每个包装的 64 位元素的低无符号 32 位整数相乘,并使用写掩码 k 将无符号 64 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的带符号的 16 位整数相乘,生成 32 位中间整数,并使用写掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 16 位整数相乘,生成 32 位中间整数,并使用写掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。将每个中间整数截断为 18 个最高有效位,通过加 1 舍入,并使用 writemask k 将位 [16:1] 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的 16 位整数相乘,生成中间的 32 位整数,并使用写掩码 k 将中间整数的低 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的 32 位整数相乘,生成中间 64 位整数,并使用写掩码 k 将中间整数的低 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并使用 writemask k (元素当相应的屏蔽位未设置时,从 src 复制)。
计算 a 和 b 中包装的 32 位整数的按位或,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位或,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用带符号的饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用带符号的饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用无符号饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用无符号饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 128 位 lane 内对双精度 (64-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的控件在 128 位 lane 内将 a 的双精度 (64-bit) 浮点元素进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的控件在 128 位 lane 内将 a 的单精度 (32-bit) 浮点元素打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用相应的选择器和 idx 中的索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 writemask k 将结果存储在 dst 中 (当相应的掩码位未设置时,从 a 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 a 和 b 中的 lanes 上对 a 和 b 中的单精度 (32-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用 imm8 中的控件在 256 位 lanes 内将 64 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 256 位 lanes 内对双精度 (64-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 的 a 中打乱 8 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 中对 32 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 中随机排列 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引对跨 lanes 中的双精度 (64-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引对跨 lanes 中的单精度 (32-bit) 浮点元素进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
将每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向左旋转 b 对应元素 b 中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的对应元素中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的对应元素中指定的位数,然后使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的小数位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 8 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 向 dst 的所有元素广播 16 位整数 a (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 32 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 64 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并使用 writemask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并使用 writemask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并使用 writemask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 16 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 32 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 64 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并使用 writemask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并使用 writemask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并使用 writemask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 16 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 32 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 64 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
使用 b 中相应的 8 位元素中的控件在 128 位 lane 内对 a 中的 8 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件将 128 位 lane 中的 32 位整数随机排列,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 imm8 从 a 和 b 中选择的 128 位 (由 4 个单精度 (32-bit) 浮点元素组成) 混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 imm8 从 a 和 b 中选择的 128 位 (由 2 个双精度 (64-bit) 浮点元素组成) 混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 imm8 从 a 和 b 中选择的 128 位 (由 4 个 32 位整数组成) 重排,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 imm8 从 a 和 b 中选择的 128 位 (由 2 个 64 位整数组成) 进行混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件对 128 位 lane 中的双精度 (64-bit) 浮点元素进行混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 a 的 128 位 lane 的高 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的高 64 位中,将 128 位 lanes 的低 64 位从 a 复制到 dst,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 a 的 128 位 lane 的低 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的低 64 位中,128 位 lanes 的高 64 位从 a 复制到 dst,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按计数左移,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数左移计数,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数左移计数,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数左移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数左移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数向左移动 imm8,同时向零移动,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按 count 中相应元素指定的数量向左移位,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将填充的 32 位整数向左移动计数中相应元素指定的数量,同时将其移位为零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将填充的 64 位整数向左移动 count 中相应元素指定的数量,同时将其移位为零,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按计数右移,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移动符号位的同时右移计数包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移动符号位的同时右移计数包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 count 中相应元素指定的数量,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在将符号位移位的同时,将已包装的 32 位整数向右移动计数中相应元素指定的数量,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移入符号位的同时,将包装的 64 位整数向右移动计数中相应元素指定的数量,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移,同时移零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移,同时移零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
向右移动包装的 32 位整数整数 (由 count 中相应元素指定的数量),同时向零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
向右移位包装的 64 位整数,其数量为计数中相应元素指定的数量,同时向零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 8 位整数中减去 b 中的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装的 16 位整数中减去 b 中的包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 32 位整数中减去 b 中的包装 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 64 位整数中减去 b 中的包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 中的包装后的单精度 (32-bit) 浮点元素减去 a 中的包装后的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度将 b 中的包装 8 位整数减去 b 中的包装 8 位有符号整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度将 b 中的包装 16 位整数减去 b 中的包装有符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 a 饱和度将 b 中的包装无符号 8 位整数减去 b 中的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 a 饱和度从 b 中的包装无符号 16 位整数减去 b 中的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每一位,使用 src、a、b 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 writemask k 在 32 位粒度 (当相应的掩码位未设置时,从 src 复制 32 位元素)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 src、a、b 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 writemask k 在 64 位粒度 (当相应的掩码位未设置时,从 src 复制 64 位元素)。
计算 a 和 b 中包装的 8 位整数的按位与,生成中间 8 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 16 位整数的按位与,生成中间的 16 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 32 位整数的按位与,生成中间的 32 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 64 位整数的按位与,生成中间 64 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 8 位整数的按位 NAND,生成中间的 8 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 16 位整数的按位 NAND,生成中间的 16 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 32 位整数的按位 NAND,生成中间的 32 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 64 位整数的按位 NAND,生成中间 64 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包并交织双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包并交织单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的带符号的 8 位整数的绝对值,并使用零掩码 k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的带符号的 16 位整数的绝对值,并使用零掩码 k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的有符号 32 位整数的绝对值,并使用 zeromask k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的带符号的 64 位整数的绝对值,并使用零掩码 k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数添加到 a 和 b 中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数添加到 a 和 b 中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的带符号的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的带符号的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 16 字节块对连接成一个 32 字节的临时结果,将结果右移 imm8 字节,并使用零掩码 k 将低 16 字节存储在 dst 中 (当未设置相应的掩码位时,元素将被清零))。
将 a 和 b 连接成一个 64 字节的 immediate 结果,将结果右移 imm8 个 32 位元素,并使用 zeromask k 将低 32 字节 (8 个元素) 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 连接成 64 字节的 immediate 结果,将结果右移 imm8 个 64 位元素,并使用 zeromask k 将低 32 字节 (4 个元素) 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 32 位整数的按位与,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位与,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的 32 位整数的按位 NOT,然后计算 b 中的 AND,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的 64 位整数的按位 NOT,然后与 b 计算 AND,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 8 位整数进行平均,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 16 位整数进行平均,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 4 个包装的单精度 (32-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 4 的包装的 32 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 8 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 32 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 64 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低双精度 (64-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低单精度 (32-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的活动 8 位整数 (它们各自的位设置在 zeromask k 中) 连续存储到 dst,并将其余元素设置为零。
将 a 中的活动 16 位整数 (它们各自的位设置在 zeromask k 中) 连续存储到 dst,并将其余元素设置为零。
将活跃的 32 位整数连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的整数) 为 dst,并将其余元素设置为零。
将活跃的 64 位整数连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的整数) 为 dst,并将其余元素设置为零。
将活跃的双精度 (64-bit) 浮点元素连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的那些元素) 为 dst,并将其余元素设置为零。
将活跃的单精度 (32-bit) 浮点元素连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的那些元素) 为 dst,并将其余元素设置为零。
使用零掩码 k (当未设置相应的掩码位时,元素将被清零),测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
使用零掩码 k (当未设置相应的掩码位时,元素将被清零),测试 a 的每个 64 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
使用符号将包装的 8 位整数从 a 扩展为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 8 位整数从 a 扩展为包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 的低 4 字节中的 8 位整数符号扩展为包装的 64 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 16 位整数转换为带截断的 8 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
符号将包装的 16 位整数从 a 扩展为包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 16 位整数从 a 扩展为包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 32 位整数转换为带有截断的包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 32 位整数从 a 扩展为包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 64 位整数转换为带截断的 8 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 64 位整数转换为带截断的 16 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的 64 位整数转换为带截断的 32 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 8 位整数零扩展为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
零扩展包装的无符号 8 位整数 a 的低 8 字节到包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
零扩展包装的无符号 8 位整数在 a 的低 4 字节到包装的 64 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 16 位整数零扩展为包装 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
零扩展包装的无符号 16 位整数 a 的低 8 字节到包装的 64 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数零扩展为包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将两个 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在单个 vector dst 中 (当对应的掩码位不存在时,元素归零放)。
将包装的单精度 (32-bit) 浮点元素在 a 中转换为包装的 BF16 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装后的半精度 (16-bit) 浮点元素转换为包装后的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的包装有符号 16 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并将结果存储在 dst 中。
将 a 中的包装有符号 64 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的单精度 (32-bit) 浮点元素转换为带有截断的包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs) 的总和,并使用零掩码 k 将 16 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
将 a 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素除以 b 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间单精度 (32-bit) 浮点元素与 src 中的元素进行累加,并将结果存储在 dst 中使用 zeromask k (当对应的掩码为位未设置)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果使用 zeromask k 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数用带符号饱和求和,并将包装的 32 位结果用 zeromask k 存储在 dst 中 (当对应的掩码位未设置时,元素被清零)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中对应的 32 位整数相加,并使用 zeromask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并使用 zeromask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 加载连续的活动 8 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 加载连续的活动 16 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的有效 32 位整数 (它们各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的有效 64 位整数 (它们各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的活动双精度 (64-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的活动单精度 (32-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 提取 128 位 (由 4 个包装的单精度 (32-bit) 浮点元素组成),并用 imm8 进行选择,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中提取 128 位 (由 4 个包装的 32 位整数组成),用 IMM1 选择,结果用 zeromask k 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 c 中的包装 64 位整数修复 a 和 b 中的包装双精度 (64-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。imm8 用于设置所需的标志报告。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或减去,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或减去,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,或者将 C from/to 中的包装元素相减并相加,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为代表整数指数的单精度 (32-bit) 浮点数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数标准化,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
将 a 中的包装的单精度 (32-bit) 浮点元素的尾数规格化,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
将 a 复制到 tmp,然后将 b 中的 128 位 (由 4 个压缩单精度 (32 位) 浮点元素组成) 插入到 tmp 中 imm8 指定的位置。使用 zeromask k 将 tmp 存储到 dst (当未设置相应的掩码位时,元素会被清零)。
将 a 复制到 tmp,然后在 imm8 指定的位置,将 b 中的 128 位 (由 4 个包装的 32 位整数组成) 插入 tmp。使用 zeromask k 将 tmp 存储到 dst (当未设置相应的掩码位时,元素会被清零)。
计算 a 中每个包装的 32 位整数中前导零位的数目,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中每个包装的 64 位整数中前导零位的数目,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。水平添加相邻的中间 32 位整数对,并使用 zeromask k 将结果打包到 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 8 位整数与 b 中的包装有符号 8 位整数相乘,生成中间有符号的 16 位整数。水平添加相邻的一对中间有符号 16 位整数,并使用 zeromask k 将饱和结果打包到 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 32 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 8 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 16 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 32 位整数从 a 移至 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 64 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的双精度 (64-bit) 浮点元素从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的单精度 (32-bit) 浮点元素从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
从 a 复制偶数索引的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 复制奇数索引的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 复制偶数索引的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中每个包装的 64 位元素的低位有符号 32 位整数相乘,并使用零掩码 k 将有符号的 64 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中每个包装的 64 位元素的低无符号 32 位整数相乘,并使用零掩码 k 将无符号 64 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的带符号的 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。将每个中间整数截断为 18 个最高有效位,通过加 1 舍入,并使用 zeromask k 将位 [16:1] 存储到 dst (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的 32 位整数相乘,生成中间 64 位整数,并使用零掩码 k 将中间整数的低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并使用 zeromask k (元素当相应的屏蔽位未设置时被清零)。
计算 a 和 b 中包装的 32 位整数的按位或,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位或,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用带符号的饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用带符号的饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用无符号饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用无符号饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 内对双精度 (64-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的控件在 128 位 lane 内将 a 中的双精度 (64-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的控件在 128 位 lane 内将 a 的单精度 (32-bit) 浮点元素打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应选择器和索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 64 位整数进行混洗,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引将 a 和 b 中的双精度 (64-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对单精度 (32-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 256 位 lanes 内将 64 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 256 位 lanes 内将双精度 (64-bit) 浮点元素打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 的 a 中打乱 8 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对 32 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对 64 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对双精度 (64-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对单精度 (32-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
将每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向左旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
计算 a 中的包装的双精度 (64-bit) 浮点元素的近似倒数平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 8 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 32 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 64 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 b 的相应 8 位元素中的打乱控制掩码对 a 中的包装 8 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 中的 32 位整数中混洗 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 imm8 从 a 和 b 中选择的 128 位 (由 4 个单精度 (32-bit) 浮点元素组成) 混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 imm8 从 a 和 b 中选择的 128 位 (由 2 个双精度 (64-bit) 浮点元素组成) 混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 imm8 从 a 和 b 中选择的 128 位 (由 4 个 32 位整数组成) 混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 imm8 从 a 和 b 中选择的 128 位 (由 2 个 64 位整数组成) 混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件对 128 位 lane 内的双精度 (64-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 a 的 128 位 lane 的高 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的高 64 位中,将 128 位 lanes 的低 64 位从 a 复制到 dst,使用 zeromask k (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 a 的 128 位 lane 的低 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的低 64 位中,128 位 lanes 的高 64 位从 a 复制到 dst,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按计数左移,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数左移计数,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将填充的 64 位整数左移计数,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数左移由 count 中的相应元素指定的数量,同时移入零,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将移位的 32 位整数左移零时,将其对应计数指定的数量左移,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将移位的 64 位整数左移零时,将其对应计数指定的数量左移,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数按计数右移,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移动符号位的同时右移计数包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移动符号位的同时右移计数包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移由 count 中的相应元素指定的数量,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将符号位移位的同时,将已包装的 32 位整数向右移动计数中相应元素指定的数量,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移入符号位的同时,将包装的 64 位整数右移由 count 中相应元素指定的数量,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将移位的 32 位整数右移,同时移零,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移计数,同时移入零,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
向右移动已包装的 32 位整数,偏移量为相应元素在计数中指定的数量,同时向零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
向右移位包装的 64 位整数,其数量为计数中相应元素指定的数量,同时移位为零,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 8 位整数中减去 b 中的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装的 16 位整数中减去 b 中的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 32 位整数中减去 b 中的包装 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 64 位整数中减去 b 中的包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 中的包装后的单精度 (32-bit) 浮点元素减去 a 中的包装后的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度从包装的 8 位整数中减去 b 中的包装有符号的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度将 b 中的包装 16 位整数减去 b 中的包装有符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 a 饱和度从 b 中的包装无符号 8 位整数减去 b 中的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 a 饱和度将 b 中的包装无符号 16 位整数减去 b 中的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 中的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 32 位粒度的 zeromask k (当未设置相应的掩码位时,32 位元素会被清零)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 中的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 64 位粒度的 zeromask k (当未设置相应的掩码位时,64 位元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的无符号 64 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的带符号的 64 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的无符号 64 位整数,并将包装的最小值存储在 dst 中。
根据 a 中相应包装的 8 位整数的最高有效位设置掩码寄存器 k 的每个位。
根据 a 中相应的包装的 16 位整数的最高有效位设置掩码寄存器 k 的每一位。
根据 k 中相应位的值,将 dst 中每个包装的 8 位整数设置为全 1 或全 0。
根据 k 中相应位的值,将 dst 中每个包装的 16 位整数设置为全 1 或全 0。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并将 8 个组装字节存储到 dst 的相应 64 位元素。
计算 a 和 b 中包装的 32 位整数的按位或,并将结果存储在 dst 中。
计算 a 和 b 中包装的 64 位整数的按位或,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并将结果存储在 dst 中。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并将结果存储在 dst 中。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 32 位整数,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对单精度 (32-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 imm8 中的控件在 256 位 lanes 中的 a 内随机排列 64 位整数,并将结果存储在 dst 中。
使用 imm8 中的控件在 256 位 lanes 内对双精度 (64-bit) 浮点元素进行打乱,并将结果存储在 dst 中。
使用 idx 中的相应索引将 a 中的 8 位整数打乱到 lanes 中,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中随机排列 32 位整数,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中随机排列 64 位整数,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中对双精度 (64-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 idx 中的相应索引对跨 lanes 中的单精度 (32-bit) 浮点元素进行打乱。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并将结果存储在 dst 中。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并将结果存储在 dst 中。该近似值的最大相对误差小于 2^-14。
将 a 中每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向左旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并将结果存储在 dst 中。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的小数位数,然后将结果存储在 dst 中。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并将高 16 位存储在 dst 中)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并将高 32 位存储在 dst 中。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并将高 64 位存储在 dst 中)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的对应元素中指定的量,并将高 16 位存储在 dst 中。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的对应元素中指定的量,并将高 32 位存储在 dst 中。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的对应元素中指定的量,并将高 64 位存储在 dst 中。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并将低 16 位存储在 dst 中。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并将低 32 位存储在 dst 中。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并将低 64 位存储在 dst 中。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的对应元素中指定的量,并将低 16 位存储在 dst 中。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的对应元素中指定的量,并将低 32 位存储在 dst 中。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的对应元素中指定的量,并将低 64 位存储在 dst 中。
imm8 从 a 和 b 中随机选择 128 位 (由 4 个单精度 (32-bit) 浮点元素组成),并将结果存储在 dst 中。
随机排列 imm8 从 a 和 b 中选择的 128 位 (由 2 个双精度 (64-bit) 浮点元素组成),并将结果存储在 dst 中。
随机排列 imm8 从 a 和 b 中选择的 128 位 (由 4 个 32 位整数组成),并将结果存储在 dst 中。
随机排列 imm8 从 a 和 b 中选择的 128 位 (由 2 个 64 位整数组成),并将结果存储在 dst 中。
将包装的 16 位整数按 count 中相应元素指定的数量向左移位,同时将零移位,并将结果存储在 dst 中。
在移动符号位的同时按计数右移包装的 64 位整数,并将结果存储在 dst 中。
将包装的 64 位整数右移 imm8,同时将符号位移位,并将结果存储在 dst 中。
将包装的 16 位整数右移 count 中相应元素指定的数量,同时移入符号位,然后将结果存储在 dst 中。
将移位的 64 位整数向右移动计数中相应元素指定的数量,同时移入符号位,并将结果存储在 dst 中。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并将结果存储在 dst 中。
将 a 中的 256 位 (由 8 个包装的 32 位整数组成) 存储到内存中。mem_addr 必须在 32 字节边界上对齐,否则可能会生成一般保护异常。
将 a 中的 256 位 (由 4 个包装的 64 位整数组成) 存储到内存中。mem_addr 必须在 32 字节边界上对齐,否则可能会生成一般保护异常。
将 a 中的 256 位 (由 32 个包装的 8 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 256 位 (由 16 个包装的 16 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 256 位 (由 8 个包装的 32 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 256 位 (由 4 个包装的 64 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每个位,来自 a,b 和 c 的相应位用于形成到 imm8 的 3 位索引,并且将 imm8 中该位的值写入 dst 中的相应位。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的对应位。
计算 a 和 b 中包装的 8 位整数的按位与,生成中间 8 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 16 位整数的按位与,生成中间的 16 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 32 位整数的按位与,生成中间的 32 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 64 位整数的按位与,生成中间 64 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 8 位整数的按位 NAND,生成中间的 8 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 16 位整数的按位 NAND,生成中间的 16 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 32 位整数的按位 NAND,生成中间的 32 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 64 位整数的按位 NAND,生成中间的 64 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并将结果存储在 dst 中。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并将结果存储在 dst 中。
计算 a 中包装的带符号的 8 位整数的绝对值,并将无符号的结果存储在 dst 中。
计算 a 中包装的带符号的 16 位整数的绝对值,并将无符号的结果存储在 dst 中。
计算 a
中包装的 32 位整数的绝对值。
计算 a 中包装的带符号的 64 位整数的绝对值,并将无符号的结果存储在 dst 中。
查找 v2 中每个包装的双精度 (64-bit) 浮点元素的绝对值,并将结果存储在 dst 中。
查找 v2 中每个包装的单精度 (32-bit) 浮点元素的绝对值,并将结果存储在 dst 中。
将包装的 8 位整数添加到 a 和 b 中,并将结果存储在 dst 中。
将包装的 16 位整数添加到 a 和 b 中,并将结果存储在 dst 中。
在 a 和 b 中添加包装的 32 位整数,并将结果存储在 dst 中。
在 a 和 b 中添加包装的 64 位整数,并将结果存储在 dst 中。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
使用饱和度在 a 和 b 中添加包装的带符号的 8 位整数,并将结果存储在 dst 中。
使用饱和度在 a 和 b 中添加包装的带符号的 16 位整数,并将结果存储在 dst 中。
使用饱和度在 a 和 b 中添加包装的无符号 8 位整数,并将结果存储在 dst 中。
使用饱和度在 a 和 b 中添加包装的无符号 16 位整数,并将结果存储在 dst 中。
使用 round_key
中的相应 128 位字 (key) 对 a
中的每个 128 位字 (state) 执行一轮 AES 解密流程。
使用 round_key
中的相应 128 位字 (key) 对 a
中的每个 128 位字 (state) 执行最后一轮 AES 解密流程。
使用 round_key
中的相应 128 位字 (key) 对 a
中的每个 128 位字 (state) 执行一轮 AES 加密流程。
使用 round_key
中的相应 128 位字 (key) 对 a
中的每个 128 位字 (state) 执行最后一轮 AES 加密流程。
将 a 和 b 中的 16 字节块对连接成 32 字节的临时结果,将结果右移 imm8 字节,并将低 16 字节存储在 dst 中。
将 a 和 b 连接成一个 128 字节的立即结果,将结果右移 imm8 32 位元素,并将低 64 字节 (16 个元素) 存储在 dst 中。
将 a 和 b 连接成一个 128 字节的立即结果,将结果右移 imm8 64 位元素,并将低 64 字节 (8 个元素) 存储在 dst 中。
计算 a 和 b 中包装的 32 位整数的按位与,并将结果存储在 dst 中。
计算 a 和 b 中 512 位 (由包装的 64 位整数组成) 的按位与,并将结果存储在 dst 中。
计算 a 和 b 中 512 位 (代表整数数据) 的按位与,并将结果存储在 dst 中。
计算 a 中包装的 32 位整数的按位 NOT,然后与 b 计算 AND,并将结果存储在 dst 中。
计算 a 中的 512 位 (由包装的 64 位整数组成) 的按位非,然后与 b 计算 AND,并将结果存储在 dst 中。
计算 a 中的 512 位 (代表整数数据) 的按位非,然后与 b 计算 AND,并将结果存储在 dst 中。
将 a 和 b 中包装的无符号 8 位整数平均,然后将结果存储在 dst 中。
将 a 和 b 中的包装无符号 16 位整数进行平均,然后将结果存储在 dst 中。
将输入 b
视为包装的 64 位整数,并将 c
视为包装的 8 位整数。
然后将来自 c
的 8 个 8 位值作为索引分组到相应的 64 位整数的位中。
然后,选择这些位并将其包装到输出中。
从 a 广播 4 个包装的单精度 (32-bit) 浮点元素到 dst 的所有元素。
从 a 广播 4 个包装的双精度 (64-bit) 浮点元素到 dst 的所有元素。
将 4 个包装的 32 位整数从 a 广播到 dst 的所有元素。
将 4 个包装的 64 位整数从 a 广播到 dst 的所有元素。
将低包装的 8 位整数从 a 广播到 dst 的所有元素。
将低包装的 32 位整数从 a 广播到 dst 的所有元素。
将输入掩码 k 的低 8 位广播到 dst 的所有 64 位元素。
将输入掩码 k 的低 16 位广播到 dst 的所有 32 位元素。
将低包装的 64 位整数从 a 广播到 dst 的所有元素。
从 a 广播低双精度 (64-bit) 浮点元素到 dst 的所有元素。
将低单精度 (32-bit) 浮点元素从 A 广播到 dst 的所有元素。
将低包装的 16 位整数从 a 广播到 dst 的所有元素。
向左移动 128 位 lane imm8 字节,同时向零移动,并将结果存储在 dst 中。
向右移动 128 位 lane imm8 字节,同时向零移动,并将结果存储在 dst 中。
将类型 __m128d 的 vector 强制转换为 __m512d 类型; 结果的高 384 位未定义。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型 __m256d 的 vector 强制转换为 __m512d 类型; 结果的高 256 位未定义。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512d 的 vector 强制转换为类型为 __m128d 的 vector。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512d 的 vector 强制转换为类型为 __m256d 的 vector。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512d 的 vector 强制转换为类型 __m512。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512d 的 vector 强制转换为类型为 __m512i 的 vector。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型 __m128 的 vector 转换为 __m512 类型; 结果的高 384 位未定义。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m256 的 vector 强制转换为类型 __m512; 结果的高 256 位未定义。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512 的 vector 强制转换为类型为 __m128 的 vector。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512 的 vector 强制转换为类型 __m256。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512 的 vector 强制转换为类型为 __m512d 的 vector。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512 的 vector 强制转换为类型 __m512i。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m128i 的 vector 强制转换为类型 __m512i; 结果的高 384 位未定义。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m256i 的 vector 强制转换为类型 __m512i; 结果的高 256 位未定义。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512i 的 vector 强制转换为类型为 __m512d 的 vector。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512i 的 vector 强制转换为类型 __m512。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512i 的 vector 强制转换为类型为 __m128i 的 vector。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m512i 的 vector 强制转换为类型为 __m256i 的 vector。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
在 4 个 128 位 lanes 中的每一个中,在有限域 GF(2^k) 上执行两个 64 位多项式的无进位乘法。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装带符号 8 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号 16 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装有符号 32 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 64 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 8 位整数,并将结果存储在掩码 vector k 中。
根据 IMM8
指定的比较操作数比较 a 和 b 中包装的无符号 16 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 32 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 64 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在掩码 vector k 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并将结果存储在掩码 vector k 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的带符号的 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 32 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 64 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 32 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数以得出小于或等于的结果,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数小于零,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数小于零,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数以得到小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装后的无符号 16 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装后的双精度 (64-bit) 浮点元素的小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素的小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 32 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否等于或小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否等于或小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素不小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素不小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素,看是否都不是 NaN,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,看是否都不是 NaN,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素,以查看其中一个是否为 NaN,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,以查看是否为 NaN,并将结果存储在掩码 vector k 中。
测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
测试 a 的每个 64 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
将包装后的带符号的 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
将 a 中的包装无符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
将包装的双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并将结果存储在 dst 中。
将包装的双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并将结果存储在 dst 中。
将包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
将包装的半精度 (16-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将包装的单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并将结果存储在 dst 中。
将包装的单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并将结果存储在 dst 中。
将包装的单精度 (32-bit) 浮点元素转换为包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用符号将包装的 8 位整数从 a 扩展到包装的 16 位整数,并将结果存储在 dst 中。
使用符号将包装的 8 位整数从 a 扩展到包装的 32 位整数,并将结果存储在 dst 中。
符号将 a 的低 8 个字节中的包装 8 位整数扩展为包装 64 位整数,并将结果存储在 dst 中。
将 a 中的包装的 16 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
符号将包装的 16 位整数从 a 扩展为包装的 32 位整数,并将结果存储在 dst 中。
使用符号将包装的 16 位整数从 a 扩展到包装的 64 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 32 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并将结果存储在 dst 中。
使用符号将包装的 32 位整数从 a 扩展到包装的 64 位整数,并将结果存储在 dst 中。
将包装后的带符号的 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
将包装后的带符号的 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
将 v2 中包装的 32 位整数整数元素的下半部分转换为包装的双精度 (64-bit) 浮点元素,将元素进行逐元素转换,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 16 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 32 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 8 位整数零扩展为包装 16 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 8 位整数零扩展为包装 32 位整数,并将结果存储在 dst 中。
将低 8 字节 sof 中的包装无符号 8 位整数零扩展到包装 64 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 16 位整数零扩展为包装 32 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 16 位整数零扩展为包装 64 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 32 位整数零扩展为包装 64 位整数,并将结果存储在 dst 中。
将 A 中的包装的无符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
将 a 中的包装无符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
将 v2 中包装的 32 位无符号整数整数元素的下半部分转换为包装的双精度 (64-bit) 浮点元素,将每个元素进行逐元素转换,并将结果存储在 dst 中。
将两个 512 位 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并将结果存入 a
将包装在 a 中的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并将结果存储在 dst 中。 Intel’s documentation
将包装的双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并将结果存储在 dst 中。
将包装的双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并将结果存储在 dst 中。
将包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
将 v2 中的包装的双精度 (64-bit) 浮点元素执行逐元素转换为单精度 (32-bit) 浮点元素并将其存储在 dst 中。元素存储在结果 vector 的下半部分中,而其余的上半部分位置设置为 0。
将包装的半精度 (16-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
将包装的单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并将结果存储在 dst 中。
将包装的单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并将结果存储在 dst 中。
将包装的单精度 (32-bit) 浮点元素转换为包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
将包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
对 v2 中包装的单精度 (32-bit) 浮点元素的下半部分到包装的双精度 (64-bit) 浮点元素的下半部分进行逐元素转换,并将结果存储在 dst 中。
将 A 中的包装有符号 16 位整数转换为带符号饱和的包装 8 位整数,并将结果存储在 dst 中。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并将结果存储在 dst 中。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 8 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 16 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并将结果存储在 dst 中。
将 a 中的低 32 位整数复制到 dst。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并将结果存储在 dst 中。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并将结果存储在 dst 中。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的 32 位整数,并将结果存储在 dst 中。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 A 中的包装无符号 32 位整数转换为具有无符号饱和度的包装无符号 16 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并将结果存储在 dst 中。
将 A 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并将结果存储在 dst 中。
计算 a 中与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs),并将 16 位结果存储在 dst 中。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
将 b 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后将结果存储在 dst 中。
将 b 中的包装的单精度 (32-bit) 浮点元素除以 b 中的包装的元素,然后将结果存储在 dst 中。
将 b 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,并将结果存储在 dst 中。
将 b 中的包装的单精度 (32-bit) 浮点元素除以 b 中的包装的元素,然后将结果存储在 dst 中。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间单精度 (32-bit) 浮点元素与 src 中的元素累加,结果存储在 BF16 (16-bit) 浮点对的 dst.Compute 点积中 b、将中间的单精度 (32-bit) 浮点元素与 src 中的元素进行累加,并将结果存入 dst。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果存入 dst。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。使用有符号饱和将这 4 个结果与 src 中相应的 32 位整数相加,并将包装的 32 位结果存储在 dst 中。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果存入 dst。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并将包装的 32 位结果存储在 dst 中。
从 a 提取 128 位 (由 4 个包装的单精度 (32-bit) 浮点元素组成),并用 imm8 进行选择,并将结果存储在 dst 中。
从 a 提取 256 位 (由 4 个包装的双精度 (64-bit) 浮点元素组成),并用 imm8 进行选择,并将结果存储在 dst 中。
从 a 中提取 128 位 (由 4 个包装的 32 位整数组成),用 IMM2 选中,结果存入 dst。
从 a 中提取 256 位 (由 4 个包装的 64 位整数组成),用 IMM1 选择,并将结果存储在 dst 中。
使用 c 中的包装的 64 位整数修复 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。imm8 用于设置所需的标志报告。
使用 c 中的包装的 64 位整数修复 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。imm8 用于设置所需的标志报告。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并将结果存储在 dst 中。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并将结果存储在 dst 中。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并将结果存储在 dst 中。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并将结果存储在 dst 中。
在 a 和 b 中乘以包装的双精度 (64-bit) 浮点元素,或者在中间结果中乘以 c to/from 的包装的元素,然后将结果存储在 dst 中。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,或者将 c to/from 中的包装的元素相加或相减,得到中间结果,并将结果存储在 dst 中。
在 a 和 b 中乘以包装的双精度 (64-bit) 浮点元素,或者在中间结果中乘以 c to/from 的包装的元素,然后将结果存储在 dst 中。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,或者将 c to/from 中的包装的元素相加或相减,得到中间结果,并将结果存储在 dst 中。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并将结果存储在 dst 中。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并将结果存储在 dst 中。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并将结果存储在 dst 中。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并将结果存储在 dst 中。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 c from/to 中的包装后的元素相减并相加,然后将结果存储在 dst 中。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,或者将 c from/to 中的包装的元素相减并相加,得到中间结果,并将结果存储在 dst 中。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 c from/to 中的包装后的元素相减并相加,然后将结果存储在 dst 中。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,或者将 c from/to 中的包装的元素相减并相加,得到中间结果,并将结果存储在 dst 中。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,然后将结果存储在 dst 中。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,然后将结果存储在 dst 中。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,然后将结果存储在 dst 中。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,然后将结果存储在 dst 中。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装的元素,并将结果存储在 dst 中。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,然后将结果存储在 dst 中。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装的元素,并将结果存储在 dst 中。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,然后将结果存储在 dst 中。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并将结果存储在 dst 中。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,并将结果存储在 dst 中。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并将结果存储在 dst 中。本质上,此内部函数为每个元素计算 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,并将结果存储在 dst 中。本质上,此内部函数为每个元素计算 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数规格化,并将结果存储在 dst 中。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
将 a 中的包装的单精度 (32-bit) 浮点元素的尾数标准化,并将结果存储在 dst 中。 此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。 尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值: _MM_MANT_NORM_1_2 // interval [1, 2) _MM_MANT_NORM_p5_2 // interval [0.5, 2) _MM_MANT_NORM_p5_1 // interval [0.5, 1) _MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5) The sign is determined by sc which can take the following values:
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数规格化,并将结果存储在 dst 中。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的单精度 (32-bit) 浮点元素的尾数标准化,并将结果存储在 dst 中。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
使用 32 位索引从内存中收集 32 位整数。从 base_addr 开始的地址加载 32 位元素,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。收集的元素将合并到 dst 中。小数位数应为 1、2、4 或 8。
使用 32 位索引从内存中收集 64 位整数。从 base_addr 开始的地址加载 64 位元素,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。收集的元素将合并到 dst 中。小数位数应为 1、2、4 或 8。
使用 32 位索引从内存中收集双精度 (64-bit) 浮点元素。从 base_addr 开始的地址加载 64 位元素,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。收集的元素将合并到 dst 中。小数位数应为 1、2、4 或 8。
使用 32 位索引从内存中收集单精度 (32-bit) 浮点元素。从 base_addr 开始的地址加载 32 位元素,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。收集的元素将合并到 dst 中。小数位数应为 1、2、4 或 8。
使用 32 位索引将 32 位整数从 a 分散到内存中。32 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。小数位数应为 1、2、4 或 8。
使用 32 位索引将 64 位整数从 a 分散到内存中。64 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。小数位数应为 1、2、4 或 8。
使用 32 位索引将双精度 (64-bit) 浮点元素从 a 分散到内存中。64 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。小数位数应为 1、2、4 或 8。
使用 32 位索引将单精度 (32-bit) 浮点元素从 a 分散到内存中。32 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。小数位数应为 1、2、4 或 8。
使用 64 位索引从内存中收集 32 位整数。从 base_addr 开始的地址加载 32 位元素,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。收集的元素将合并到 dst 中。小数位数应为 1、2、4 或 8。
使用 64 位索引从内存中收集 64 位整数。从 base_addr 开始的地址加载 64 位元素,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。收集的元素将合并到 dst 中。小数位数应为 1、2、4 或 8。
使用 64 位索引从内存中收集双精度 (64-bit) 浮点元素。从 base_addr 开始的地址加载 64 位元素,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。收集的元素将合并到 dst 中。小数位数应为 1、2、4 或 8。
使用 64 位索引从内存中收集单精度 (32-bit) 浮点元素。从 base_addr 开始的地址加载 32 位元素,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。收集的元素将合并到 dst 中。小数位数应为 1、2、4 或 8。
使用 64 位索引将 32 位整数从 a 分散到内存中。32 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。小数位数应为 1、2、4 或 8。
使用 64 位索引将 64 位整数从 a 分散到内存中。64 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。小数位数应为 1、2、4 或 8。
使用 64 位索引将双精度 (64-bit) 浮点元素从 a 分散到内存中。64 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。小数位数应为 1、2、4 或 8。
使用 64 位索引将单精度 (32-bit) 浮点元素从 a 分散到内存中。32 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放),且受掩码 k 限制 (未设置相应的掩码位时不存储元素)。小数位数应为 1、2、4 或 8。
将 a 复制到 dst,然后将 b 中的 128 位 (由 4 个压缩单精度 (32 位) 浮点元素组成) 插入到 dst 中 imm8 指定的位置。
将 a 复制到 dst,然后将 b 中的 256 位 (由 4 个压缩双精度 (64 位) 浮点元素组成) 插入到 dst 中 imm8 指定的位置。
将 a 复制到 dst,然后将 b 中的 128 位 (由 4 个压缩的 32 位整数组成) 插入到 dst 中 imm8 指定的位置。
将 a 复制到 dst,然后在 imm8 指定的位置将 256 位 (由 4 个包装的 64 位整数组成) 插入 dst。
将整数掩码转换为位掩码,并将结果存储在 dst 中。
计算 16 位掩码 a 和 b 的按位与,并将结果存储在 k 中。
计算 16 位掩码 a 的按位非,然后与 b 计算 AND,并将结果存储在 k 中。
将 16 位掩码 a 复制到 k。
计算 16 位掩码 a 的按位非,并将结果存储在 k 中。
计算 16 位掩码 a 和 b 的按位或,并将结果存储在 k 中。
在 k1 和 k2 之间执行按位或运算,将结果存储在 dst 中。如果 dst 全为 1,则设置 CF 标志。
从掩码 a 和 b 解包并交织 8 位,并将 16 位结果存储在 k 中。
计算 16 位掩码 a 和 b 的按位 XNOR,并将结果存储在 k 中。
计算 16 位掩码 a 和 b 的按位 XOR,并将结果存储在 k 中。
将 512 位 (由 16 个包装的 32 位整数组成) 从 dst 加载。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 512 位 (由 8 个包装的 64 位整数组成) 从 dst 加载。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 512 位 (由 8 个包装的双精度 (64-bit) 浮点元素组成) 从 dst 加载。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 512 位 (由 16 个包装的单精度 (32-bit) 浮点元素组成) 从 dst 加载。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 512 位整数数据从内存加载到 dst 中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 512 位 (由 64 个包装的 8 位整数组成) 从 dst 加载。mem_addr 不需要在任何特定边界上对齐。
将 512 位 (由 32 个包装的 16 位整数组成) 从 dst 加载。mem_addr 不需要在任何特定边界上对齐。
将 512 位 (由 16 个包装的 32 位整数组成) 从 dst 加载。mem_addr 不需要在任何特定边界上对齐。
将 512 位 (由 8 个包装的 64 位整数组成) 从 dst 加载。mem_addr 不需要在任何特定边界上对齐。
从内存中加载 512 位 (由 8 个包装的双精度 (64-bit) 浮点元素组成) 到结果中。
从内存中将 512 位 (由 16 个包装的单精度 (32-bit) 浮点元素组成) 加载到结果中。
将 512 位整数数据从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
计算 a 中每个包装的 32 位整数中前导零位的数目,并将结果存储在 dst 中。
计算 a 中每个包装的 64 位整数中前导零位的数目,并将结果存储在 dst 中。
将 b
和 c
的每个 64 位元素中的包装无符号 52 位整数相乘以形成 104 位中间结果。
将中间结果的高 52 位无符号整数与 a
中的相应无符号 64 位整数相加,并将结果存储在 dst
中。
将 b
和 c
的每个 64 位元素中的包装无符号 52 位整数相乘以形成 104 位中间结果。
将中间结果的低 52 位无符号整数与 a
中的相应无符号 64 位整数相加,并将结果存储在 dst
中。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。将相邻的 32 位中间整数对水平相加,并将结果打包到 dst 中。
将 a 中的每个无符号 8 位整数与 b 中对应的有符号 8 位整数垂直相乘,生成中间有符号的 16 位整数。水平相加相邻的中间带符号的 16 位整数对,并将饱和结果包装到 dst 中。
使用相应的选择器和 idx 中的索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 writemask k 将结果存储在 dst 中 (当相应的掩码位未设置时,从 a 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)
使用 idx 中的对应选择器和索引在 a 和 b 中的 lanes 中对 a 和 b 中的单精度 (32-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
将位掩码 k1 转换为整数值,并将结果存储在 dst 中。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
在 a 和 b 中分别乘以包装的单精度 (32-bit) 浮点元素,或者在 to/from 中将中间结果乘以包装的元素加减乘以 x,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 c 复制元素) 放)。
在 a 和 b 中分别乘以包装的单精度 (32-bit) 浮点元素,或者在 to/from 中将中间结果乘以包装的元素加减乘以 x,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 c 复制元素) 放)。
在 a 和 b 中分别乘以包装的单精度 (32-bit) 浮点元素,或者在 to/from 中将中间结果乘以包装的元素加减乘以 x,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 c 复制元素) 放)。
在 a 和 b 中分别乘以包装的单精度 (32-bit) 浮点元素,或者在 to/from 中将中间结果乘以包装的元素加减乘以 x,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 c 复制元素) 放)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 c 复制元素)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 c 复制元素)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,并使用 writemask k 将结果存储在 dst 中 (当未使用相应的 mask 位时从 c 复制元素) 放)。
在 a 和 b 中乘以包装的单精度 (32-bit) 浮点元素,或者在中间结果中减去并在 c from/to 中包装的元素相乘,然后使用 writemask k 将结果存储在 dst 中 (当未使用相应的 mask 位时从 c 复制元素) 放)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,并使用 writemask k 将结果存储在 dst 中 (当未使用相应的 mask 位时从 c 复制元素) 放)。
在 a 和 b 中乘以包装的单精度 (32-bit) 浮点元素,或者在中间结果中减去并在 c from/to 中包装的元素相乘,然后使用 writemask k 将结果存储在 dst 中 (当未使用相应的 mask 位时从 c 复制元素) 放)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 c 复制)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 c 复制)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
计算 a 中包装的带符号的 8 位整数的绝对值,并使用写掩码 k 将无符号的结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的带符号的 16 位整数的绝对值,并使用写掩码 k 将无符号的结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a
中包装的 32 位整数的绝对值,并使用写掩码 k
将无符号结果存储在 dst
中 (如果未设置相应的掩码位,则从 src
复制元素)。
计算 a 中包装的带符号的 64 位整数的绝对值,并使用写掩码 k 将无符号的结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
查找 v2 中每个包装的双精度 (64-bit) 浮点元素的绝对值,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
查找 v2 中每个包装的单精度 (32-bit) 浮点元素的绝对值,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的带符号的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的带符号的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的 16 字节块对连接成 32 字节的临时结果,将结果右移 imm8 字节,并使用写掩码 k 将低 16 个字节存储在 dst 中 (当相应的屏蔽位未置位时,从 src 复制元素)。
将 a 和 b 连接成一个 128 字节的立即结果,将结果右移 imm8 32 位元素,并使用写掩码 k 将低 64 字节 (16 个元素) 存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 连接成一个 128 字节的立即结果,将结果右移 imm8 64 位元素,并使用写掩码 k 将低 64 字节 (8 个元素) 存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在包装的 a 和 b 的 32 位整数元素之间执行逐个元素的按位 AND,使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位与,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的 32 位整数的按位 NOT,然后与 b 计算 AND,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的 64 位整数的按位 NOT,然后与 b 计算 AND,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 8 位整数平均,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 16 位整数进行平均,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将输入 b
视为包装的 64 位整数,并将 c
视为包装的 8 位整数。
然后将来自 c
的 8 个 8 位值作为索引分组到相应的 64 位整数的位中。
然后,选择这些位并将其包装到输出中。
使用控制掩码 k 混合 a 和 b 中的包装 8 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装的 16 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合 a 和 b 中的包装 32 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合 a 和 b 中的包装 64 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装后的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
使用写掩码 k 将 4 个包装的单精度 (32-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 4 个包装的双精度 (64-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 a 的 4 个包装的 32 位整数广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 a 的 4 个包装的 64 位整数广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 d 的低包装的 8 位整数广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 32 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 64 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低双精度 (64-bit) 浮点型元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低单精度 (32-bit) 浮点型元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 32 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 64 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 8 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 32 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的带符号的 8 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否相等,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的 32 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的 64 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数是否等于或大于等于,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否大于等于,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数是否大于,并将结果使用零掩码 k1 存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数 (小于或等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数 (小于等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的无符号 8 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数 (小于或等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的带符号的 64 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数以得到小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素的小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的 32 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将清零)。
比较 a 和 b 中包装的无符号 8 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否相等,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否等于或小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否等于或小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素,看是否都不是 NaN,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,看是否都不是 NaN,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素以查看是否为 NaN,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,看是否为 NaN,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
将 a 中的活动 8 位整数 (它们各自的位设置在写掩码 k 中) 连续存储到 dst,并通过 src 中的其余元素。
将 a 中的活动 16 位整数 (它们各自的位设置在写掩码 k 中) 连续存储到 dst,并通过 src 中的其余元素。
将活跃的 32 位整数连续存储在 dst 中 (它们各自的位在写掩码 k 中设置的整数) 到 dst,并通过 src 中的其余元素。
将活跃的 64 位整数连续存储在 dst 中 (它们各自的位在写掩码 k 中设置的整数) 到 dst,并通过 src 中的其余元素。
将活跃的双精度 (64-bit) 浮点元素连续存储在 dst 中 (它们各自的位在写掩码 k 中设置) 到 dst,并通过 src 中的其余元素。
将活跃的单精度 (32-bit) 浮点元素连续存储在 dst 中 (将其各自的位设置在写掩码 k 中的那些元素中) 存储到 dst,并通过 src 中的其余元素。
使用写掩码 k (当未设置相应的掩码位时,将从 src 复制元素),测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
使用写掩码 k 测试 a 的每个 64 位元素是否与所有其他元素相等 (更接近最低有效位) (当未设置相应的掩码位时,将从 src 复制元素)。每个元素的比较在 dst 中形成零扩展位 vector。
将 a 中的包装有符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装后的半精度 (16-bit) 浮点元素转换为包装后的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用符号将包装的 8 位整数从 a 扩展为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
符号将包装的 8 位整数从 a 扩展为包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
符号将 a 的低 8 个字节中的包装 8 位整数扩展为包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将带有 a 的包装的 16 位整数转换为带截断的 8 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
符号将包装后的 16 位整数从 a 扩展为包装后的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用符号将包装的 16 位整数从 a 扩展为包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 16 位整数转换为带有截断的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将带有 a 的包装的 32 位整数转换为带截断的包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用符号将包装的 32 位整数从 a 扩展为包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装有符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装有符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数在 a 中转换为带有截断的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的 32 位整数转换为带截断的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 v2 中包装的 32 位整数整数元素的下半部分转换为包装的双精度 (64-bit) 浮点元素,进行逐元素转换,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 64 位整数转换为带有截断的包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 64 位整数转换为带截断的 16 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 64 位整数转换为带截断的 32 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中包装的 64 位整数转换为包装的 8 位整数并截断,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 的未对齐内存中。
将 a 中的包装的 64 位整数转换为带截断的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的 64 位整数转换为带截断的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 8 位整数零扩展为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 8 位整数零扩展为包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 的低 8 个字节中的包装无符号 8 位整数零扩展为包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 16 位整数零扩展为包装 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 16 位整数零扩展为包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数零扩展为包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数转换为包装双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 v2 中 32 位无符号整数元素的下半部分转换为包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
将两个 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并使用 writemask k 将结果存储在单个 vector dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 v2 中的包装的双精度 (64-bit) 浮点元素转换为单精度 (32-bit) 浮点元素,将其逐个元素转换,并使用 writemask k 将它们存储在 dst 中 (当未设置相应的 mask 位时,元素将从 src 复制)。元素存储在结果 vector 的下半部分中,而其余的上半部分位置设置为 0。
将 a 中的包装后的半精度 (16-bit) 浮点元素转换为包装后的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 v2 中包装的单精度 (32-bit) 浮点元素的下半部分转换为包装的双精度 (64-bit) 浮点元素的下半部分进行逐元素转换,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 src 复制)。
将 a 中的包装带符号的 16 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 16 位整数转换为有符号饱和的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 32 位整数转换为具有符号饱和的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 32 位整数转换为具有符号饱和的包装的 16 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的无符号 16 位整数转换为具有无符号饱和的包装的无符号 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的无符号 32 位整数转换为具有无符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的无符号 32 位整数转换为具有无符号饱和的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的无符号 64 位整数在 a 中转换为具有无符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 的未对齐内存中。
将包装在 a 中的无符号 64 位整数转换为具有无符号饱和的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装的无符号 64 位整数在 a 中转换为具有无符号饱和的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
计算 a 中的无符号 8 位整数与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs),并使用写掩码 k 将 16 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
将 a 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素除以 b 中的包装的元素,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素除以 b 中的包装的元素,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间的单精度 (32-bit) 浮点元素与 src 中的元素相加,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (未设置相应掩码位时从 src 复制元素)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。使用符号饱和将这 4 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动 8 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动 16 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的有效 32 位整数 (它们各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的有效 64 位整数 (它们各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动双精度 (64-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中加载连续的活动单精度 (32-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 提取 128 位 (由 4 个包装的单精度 (32-bit) 浮点元素组成),并用 imm8 进行选择,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 提取 256 位 (由 4 个包装的双精度 (64-bit) 浮点元素组成),并用 imm8 进行选择,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中提取 128 位 (由 4 个包装的 32 位整数组成),用 IMM2 选中,用 writemask k 将结果存入 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中提取 256 位 (由 4 个包装的 64 位整数组成),用 IMM1 选中,用 writemask k 将结果存入 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用 c 中的包装 64 位整数修复 a 和 b 中的包装双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 a 复制元素)。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 a 复制元素)。imm8 用于设置所需的标志报告。
使用 c 中的包装 64 位整数修复 a 和 b 中的包装双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 a 复制元素)。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 a 复制元素)。imm8 用于设置所需的标志报告。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 a 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 a 复制元素)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 a 中复制元素放)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位则从 a 复制元素放)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 a 中复制元素放)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位则从 a 复制元素放)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (如果未设置相应的掩码位,则从 a 复制元素)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 a 复制元素)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (如果未设置相应的掩码位,则从 a 复制元素)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 a 复制元素)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,并使用 writemask k 将结果存储在 dst 中 (当未使用相应的掩码位时,元素将从 a 复制放)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 a 复制元素放)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,并使用 writemask k 将结果存储在 dst 中 (当未使用相应的掩码位时,元素将从 a 复制放)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 a 复制元素放)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。本质上,此内部函数为每个元素计算 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。本质上,此内部函数为每个元素计算 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数标准化,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
标准化 a 中包装的单精度 (32-bit) 浮点元素的尾数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数标准化,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 a 中包装的单精度 (32-bit) 浮点元素的尾数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
使用 32 位索引从内存中收集 32 位整数。从 base_addr 开始的地址加载 32 位元素,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。使用 writemask k 将收集的元素合并到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。小数位数应为 1、2、4 或 8。
使用 32 位索引从内存中收集 64 位整数。从 base_addr 开始的地址加载 64 位元素,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。使用 writemask k 将收集的元素合并到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。小数位数应为 1、2、4 或 8。
使用 32 位索引从内存中收集双精度 (64-bit) 浮点元素。从 base_addr 开始的地址加载 64 位元素,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。使用 writemask k 将收集的元素合并到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。小数位数应为 1、2、4 或 8。
使用 32 位索引从内存中收集单精度 (32-bit) 浮点元素。从 base_addr 开始的地址加载 32 位元素,并由 vindex 中的每个 32 位元素偏移 (每个索引都按比例因子进行缩放)。使用 writemask k 将收集的元素合并到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。小数位数应为 1、2、4 或 8。
使用 32 位索引将 32 位整数从 a 分散到内存中。32 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 32 位元素偏移 (每个索引按比例中的因子进行缩放) 受掩码 k 的约束 (未设置相应掩码位时,不存储元素)。小数位数应为 1、2、4 或 8。
使用 32 位索引将 64 位整数从 a 分散到内存中。64 位元素存储在从 base_addr 开始的地址中,并由 vindex 中的每个 32 位元素偏移 (每个索引按比例中的因子进行缩放) 受掩码 k 的约束 (未设置相应掩码位时,不存储元素)。小数位数应为 1、2、4 或 8。
使用 32 位索引将双精度 (64-bit) 浮点元素从 a 分散到内存中。64 位元素存储在从 base_addr 开始的地址中,并由 vindex 中的每个 32 位元素偏移 (每个索引按比例中的因子进行缩放) 受掩码 k 的约束 (未设置相应掩码位时,不存储元素)。小数位数应为 1、2、4 或 8。
使用 32 位索引将单精度 (32-bit) 浮点元素从 a 分散到内存中。32 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 32 位元素偏移 (每个索引按比例中的因子进行缩放) 受掩码 k 的约束 (未设置相应掩码位时,不存储元素)。小数位数应为 1、2、4 或 8。
使用 64 位索引从内存中收集 32 位整数。从 base_addr 开始的地址加载 32 位元素,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。使用 writemask k 将收集的元素合并到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。小数位数应为 1、2、4 或 8。
使用 64 位索引从内存中收集 64 位整数。从 base_addr 开始的地址加载 64 位元素,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。使用 writemask k 将收集的元素合并到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。小数位数应为 1、2、4 或 8。
使用 64 位索引从内存中收集双精度 (64-bit) 浮点元素。从 base_addr 开始的地址加载 64 位元素,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。使用 writemask k 将收集的元素合并到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。小数位数应为 1、2、4 或 8。
使用 64 位索引从内存中收集单精度 (32-bit) 浮点元素。从 base_addr 开始的地址加载 32 位元素,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放)。使用 writemask k 将收集的元素合并到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。小数位数应为 1、2、4 或 8。
使用 64 位索引将 32 位整数从 a 分散到内存中。32 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放),且受掩码 k 限制 (未设置相应的掩码位时不存储元素)。小数位数应为 1、2、4 或 8。
使用 64 位索引将 64 位整数从 a 分散到内存中。64 位元素存储在从 base_addr 开始的地址中,并由 vindex 中的每个 64 位元素偏移 (每个索引按比例中的因子进行缩放) 受掩码 k 的约束 (当相应掩码位未设置时,不存储元素)。小数位数应为 1、2、4 或 8。
使用 64 位索引将双精度 (64-bit) 浮点元素从 a 分散到内存中。64 位元素存储在从 base_addr 开始的地址中,并由 vindex 中的每个 64 位元素偏移 (每个索引按比例中的因子进行缩放) 受掩码 k 的约束 (当相应掩码位未设置时,不存储元素)。小数位数应为 1、2、4 或 8。
使用 64 位索引将单精度 (32-bit) 浮点元素从 a 分散到内存中。32 位元素存储在从 base_addr 开始的地址处,并由 vindex 中的每个 64 位元素偏移 (每个索引都按比例因子进行缩放),且受掩码 k 限制 (未设置相应的掩码位时不存储元素)。小数位数应为 1、2、4 或 8。
将 a 复制到 tmp,然后将 b 中的 128 位 (由 4 个压缩单精度 (32 位) 浮点元素组成) 插入到 tmp 中 imm8 指定的位置。使用写掩码 k 将 tmp 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 复制到 tmp,然后将 b 中的 256 位 (由 4 个压缩双精度 (64 位) 浮点元素组成) 插入到 tmp 中 imm8 指定的位置。使用写掩码 k 将 tmp 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 复制到 tmp,然后在 imm8 指定的位置,将 b 中的 128 位 (由 4 个包装的 32 位整数组成) 插入 tmp。使用写掩码 k 将 tmp 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 复制到 tmp,然后在 imm8 指定的位置将 b 的 256 位 (由 4 个包装的 64 位整数组成) 插入 tmp。使用写掩码 k 将 tmp 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中每个包装的 32 位整数中前导零位的数目,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中每个包装的 64 位整数中前导零位的数目,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。水平添加相邻的中间 32 位整数对,并使用 writemask k 将结果打包到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 8 位整数与 b 中的包装有符号 8 位整数相乘,生成中间有符号的 16 位整数。水平相加相邻的中间带符号的 16 位整数对,并使用写掩码 k 将饱和结果包装到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 8 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 16 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 8 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 16 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 32 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 64 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的带符号的 8 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号 16 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 8 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 16 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 32 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 64 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用写掩码 k 将包装的 8 位整数从 a 移到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 16 位整数从 a 移到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 32 位整数从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 64 位整数从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的双精度 (64-bit) 浮点元素从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的单精度 (32-bit) 浮点元素从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 复制偶数索引的双精度 (64-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 复制奇数索引的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 复制偶数索引的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中每个包装的 64 位元素的低符号 32 位整数相乘,并使用写掩码 k 将有符号的 64 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中每个包装的 64 位元素的低无符号 32 位整数相乘,并使用写掩码 k 将无符号 64 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的带符号的 16 位整数相乘,生成 32 位中间整数,并使用写掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 16 位整数相乘,生成 32 位中间整数,并使用写掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。将每个中间整数截断为 18 个最高有效位,通过加 1 舍入,并使用 writemask k 将位 [16:1] 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的 16 位整数相乘,生成中间的 32 位整数,并使用写掩码 k 将中间整数的低 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的 32 位整数相乘,生成中间 64 位整数,并使用写掩码 k 将中间整数的低 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数 vectors a 和 b 中的元素相乘,使用写掩码 k 将结果的低 64 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并使用 writemask k (元素当相应的屏蔽位未设置时,从 src 复制)。
计算 a 和 b 中包装的 32 位整数的按位或,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位或,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用带符号的饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用带符号的饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用无符号饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用无符号饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 128 位 lane 内对双精度 (64-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 中对 32 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。请注意,与过去使用 permutevar 名称的内部函数不同,该内部函数在 128 位 lane 上进行了重排。这个内部函数和 _mm512_mask_permutexvar_epi32 是一样的,建议您用那个内部函数名。
使用 b 中的控件在 128 位 lane 内将 a 的双精度 (64-bit) 浮点元素进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的控件在 128 位 lane 内将 a 的单精度 (32-bit) 浮点元素打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用相应的选择器和 idx 中的索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 writemask k 将结果存储在 dst 中 (当相应的掩码位未设置时,从 a 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 a 和 b 中的 lanes 上对 a 和 b 中的单精度 (32-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用 imm8 中的控件在 256 位 lanes 内将 64 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 256 位 lanes 内对双精度 (64-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 的 a 中打乱 8 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 中对 32 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 中随机排列 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引对跨 lanes 中的双精度 (64-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引对跨 lanes 中的单精度 (32-bit) 浮点元素进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
使用掩码 k 通过加法来减少 a 中包装的 32 位整数。返回 a 中所有活动元素的总和。
使用掩码 k 通过加法来减少 a 中包装的 64 位整数。返回 a 中所有活动元素的总和。
通过使用掩膜 k 加法来减少包装的双精度 (64-bit) 浮点元素。返回 a 中所有活动元素的总和。
通过使用掩码 k 加法来减少包装的单精度 (32-bit) 浮点元素。返回 a 中所有活动元素的总和。
使用掩码 k 按位与减少包装的 32 位整数。返回 a 中所有活动元素的按位与。
使用掩码 k 通过加法来减少 a 中包装的 64 位整数。返回 a 中所有活动元素的总和。
使用掩码 k 最多减少 a 中的包装有符号 32 位整数。返回 a 中所有活动元素的最大值。
使用掩码 k 最大减少包装的带符号的 64 位整数。返回 a 中所有活动元素的最大值。
使用掩码 k 最大减少包装的无符号 32 位整数。返回 a 中所有活动元素的最大值。
使用掩码 k 最大减少包装的无符号 64 位整数。返回 a 中所有活动元素的最大值。
使用掩码 k 最多减少 a 中包装的双精度 (64-bit) 浮点元素。返回 a 中所有活动元素的最大值。
最多使用掩码 k 减少包装后的单精度 (32-bit) 浮点元素。返回 a 中所有活动元素的最大值。
使用掩码 k 最多减少 a 中的包装有符号 32 位整数。返回 a 中所有活动元素的最小值。
使用掩码 k 最大减少包装的带符号的 64 位整数。返回 a 中所有活动元素的最小值。
使用掩码 k 最大减少包装的无符号 32 位整数。返回 a 中所有活动元素的最小值。
使用掩码 k 最大减少包装的带符号的 64 位整数。返回 a 中所有活动元素的最小值。
使用掩码 k 最多减少 a 中包装的双精度 (64-bit) 浮点元素。返回 a 中所有活动元素的最小值。
最多使用掩码 k 减少包装后的单精度 (32-bit) 浮点元素。返回 a 中所有活动元素的最小值。
使用掩码 k 通过乘以减少 a 中包装的 32 位整数。返回 a 中所有活动元素的乘积。
使用掩码 k 通过乘以减少 a 中包装的 64 位整数。返回 a 中所有活动元素的乘积。
使用掩码 k 通过乘以减少 a 中包装的双精度 (64-bit) 浮点元素。返回 a 中所有活动元素的乘积。
使用掩码 k 通过乘以减少 a 中包装的单精度 (32-bit) 浮点元素。返回 a 中所有活动元素的乘积。
使用掩码 k 按位或减少包装的 32 位整数。返回 a 中所有活动元素的按位或。
使用掩码 k 按位或减少包装的 64 位整数。返回 a 中所有活动元素的按位或。
将每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向左旋转 b 对应元素 b 中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的对应元素中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的对应元素中指定的位数,然后使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的小数位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的小数位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 8 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 向 dst 的所有元素广播 16 位整数 a (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 32 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 64 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并使用 writemask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并使用 writemask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并使用 writemask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 16 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 32 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 64 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并使用 writemask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并使用 writemask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并使用 writemask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 16 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 32 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 64 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
使用 b 中相应的 8 位元素中的控件在 128 位 lane 内对 a 中的 8 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件将 128 位 lane 中的 32 位整数随机排列,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 imm8 从 a 和 b 中选择的 128 位 (由 4 个单精度 (32-bit) 浮点元素组成) 混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 imm8 从 a 和 b 中选择的 128 位 (由 2 个双精度 (64-bit) 浮点元素组成) 混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 imm8 从 a 和 b 中选择的 128 位 (由 4 个 32 位整数组成) 重排,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 imm8 从 a 和 b 中选择的 128 位 (由 2 个 64 位整数组成) 进行混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件对 128 位 lane 中的双精度 (64-bit) 浮点元素进行混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 a 的 128 位 lane 的高 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的高 64 位中,将 128 位 lanes 的低 64 位从 a 复制到 dst,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 a 的 128 位 lane 的低 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的低 64 位中,128 位 lanes 的高 64 位从 a 复制到 dst,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按计数左移,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数左移计数,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数左移计数,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数左移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数左移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数向左移动 imm8,同时向零移动,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按 count 中相应元素指定的数量向左移位,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将填充的 32 位整数向左移动计数中相应元素指定的数量,同时将其移位为零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将填充的 64 位整数向左移动 count 中相应元素指定的数量,同时将其移位为零,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按计数右移,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移动符号位的同时右移计数包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移动符号位的同时右移计数包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 count 中相应元素指定的数量,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在将符号位移位的同时,将已包装的 32 位整数向右移动计数中相应元素指定的数量,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移入符号位的同时,将包装的 64 位整数向右移动计数中相应元素指定的数量,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移,同时移零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移,同时移零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
向右移动包装的 32 位整数整数 (由 count 中相应元素指定的数量),同时向零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
向右移位包装的 64 位整数,其数量为计数中相应元素指定的数量,同时向零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 8 位整数中减去 b 中的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装的 16 位整数中减去 b 中的包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 32 位整数中减去 b 中的包装 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 64 位整数中减去 b 中的包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 中的包装后的单精度 (32-bit) 浮点元素减去 a 中的包装后的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 中的包装后的单精度 (32-bit) 浮点元素减去 a 中的包装后的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度将 b 中的包装 8 位整数减去 b 中的包装 8 位有符号整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度将 b 中的包装 16 位整数减去 b 中的包装有符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 a 饱和度将 b 中的包装无符号 8 位整数减去 b 中的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 a 饱和度从 b 中的包装无符号 16 位整数减去 b 中的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每一位,使用 src、a、b 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 writemask k 在 32 位粒度 (当相应的掩码位未设置时,从 src 复制 32 位元素)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 src、a、b 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 writemask k 在 64 位粒度 (当相应的掩码位未设置时,从 src 复制 64 位元素)。
计算 a 和 b 中包装的 8 位整数的按位与,生成中间 8 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 16 位整数的按位与,生成中间的 16 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 32 位整数的按位与,生成中间的 32 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 64 位整数的按位与,生成中间 64 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 8 位整数的按位 NAND,生成中间的 8 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 16 位整数的按位 NAND,生成中间的 16 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 32 位整数的按位 NAND,生成中间的 32 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 64 位整数的按位 NAND,生成中间 64 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包并交织双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包并交织单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的带符号的 8 位整数的绝对值,并使用零掩码 k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的带符号的 16 位整数的绝对值,并使用零掩码 k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a
中包装的 32 位整数的绝对值,并使用零掩码 k
将无符号结果存储在 dst
中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的带符号的 64 位整数的绝对值,并使用零掩码 k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数添加到 a 和 b 中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数添加到 a 和 b 中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的带符号的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的带符号的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 16 字节块对连接成一个 32 字节的临时结果,将结果右移 imm8 字节,并使用零掩码 k 将低 16 字节存储在 dst 中 (当未设置相应的掩码位时,元素将被清零))。
将 a 和 b 连接成一个 128 字节的立即结果,将结果右移 imm8 32 位元素,并使用零掩码 k 将低 64 字节 (16 个元素) 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 连接成一个 128 字节的立即结果,将结果右移 imm8 64 位元素,并使用零掩码 k 将低 64 字节 (8 个元素) 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 32 位整数的按位与,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位与,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的 32 位整数的按位 NOT,然后计算 b 中的 AND,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的 64 位整数的按位 NOT,然后与 b 计算 AND,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 8 位整数进行平均,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 16 位整数进行平均,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 4 个包装的单精度 (32-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 4 个包装的双精度 (64-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 4 的包装的 32 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 4 个包装的 64 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 8 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 32 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 64 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低双精度 (64-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低单精度 (32-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的活动 8 位整数 (它们各自的位设置在 zeromask k 中) 连续存储到 dst,并将其余元素设置为零。
将 a 中的活动 16 位整数 (它们各自的位设置在 zeromask k 中) 连续存储到 dst,并将其余元素设置为零。
将活跃的 32 位整数连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的整数) 为 dst,并将其余元素设置为零。
将活跃的 64 位整数连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的整数) 为 dst,并将其余元素设置为零。
将活跃的双精度 (64-bit) 浮点元素连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的那些元素) 为 dst,并将其余元素设置为零。
将活跃的单精度 (32-bit) 浮点元素连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的那些元素) 为 dst,并将其余元素设置为零。
使用零掩码 k (当未设置相应的掩码位时,元素将被清零),测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
使用零掩码 k (当未设置相应的掩码位时,元素将被清零),测试 a 的每个 64 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
将 a 中的包装有符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装后的半精度 (16-bit) 浮点元素转换为包装后的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用符号将包装的 8 位整数从 a 扩展为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 8 位整数从 a 扩展为包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
符号将 a 的低 8 个字节中的包装 8 位整数扩展为包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 16 位整数转换为带截断的 8 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
符号将包装的 16 位整数从 a 扩展为包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 16 位整数从 a 扩展为包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 32 位整数转换为带有截断的包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 32 位整数从 a 扩展为包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 64 位整数转换为带截断的 8 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 64 位整数转换为带截断的 16 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的 64 位整数转换为带截断的 32 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 8 位整数零扩展为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 8 位整数零扩展为包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 的低 8 个字节中的包装无符号 8 位整数零扩展为包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 16 位整数零扩展为包装 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 16 位整数零扩展为包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数零扩展为包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将两个 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在单个 vector dst 中 (当对应的掩码位不存在时,元素归零放)。
将包装的单精度 (32-bit) 浮点元素在 a 中转换为包装的 BF16 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装后的半精度 (16-bit) 浮点元素转换为包装后的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装有符号 16 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并将结果存储在 dst 中。
将 a 中的包装有符号 64 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的单精度 (32-bit) 浮点元素转换为带有截断的包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将带有 a 的包装的单精度 (32-bit) 浮点元素转换为带有截断的包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装单精度 (32-bit) 浮点元素转换为带有截断的包装无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的单精度 (32-bit) 浮点元素转换为带有截断的包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs) 的总和,并使用零掩码 k 将 16 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
将 a 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素除以 b 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素除以 b 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间单精度 (32-bit) 浮点元素与 src 中的元素进行累加,并将结果存储在 dst 中使用 zeromask k (当对应的掩码为位未设置)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果使用 zeromask k 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数用带符号饱和求和,并将包装的 32 位结果用 zeromask k 存储在 dst 中 (当对应的掩码位未设置时,元素被清零)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中对应的 32 位整数相加,并使用 zeromask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并使用 zeromask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 加载连续的活动 8 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 加载连续的活动 16 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的有效 32 位整数 (它们各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的有效 64 位整数 (它们各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的活动双精度 (64-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的活动单精度 (32-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 提取 128 位 (由 4 个包装的单精度 (32-bit) 浮点元素组成),并用 imm8 进行选择,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 提取 256 位 (由 4 个包装的双精度 (64-bit) 浮点元素组成),并用 imm8 进行选择,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中提取 128 位 (由 4 个包装的 32 位整数组成),用 IMM2 选择,结果用 zeromask k 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中提取 256 位 (由 4 个包装的 64 位整数组成),用 IMM1 选择,结果用 zeromask k 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 c 中的包装 64 位整数修复 a 和 b 中的包装双精度 (64-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。imm8 用于设置所需的标志报告。
使用 c 中的包装 64 位整数修复 a 和 b 中的包装双精度 (64-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。imm8 用于设置所需的标志报告。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并将结果存储在使用零掩码 k 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或减去,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或减去,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或减去,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,或者将 C from/to 中的包装元素相减并相加,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或减去,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,或者将 C from/to 中的包装元素相减并相加,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为代表整数指数的单精度 (32-bit) 浮点数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。本质上,此内部函数为每个元素计算 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为代表整数指数的单精度 (32-bit) 浮点数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。本质上,此内部函数为每个元素计算 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数标准化,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
将 a 中的包装的单精度 (32-bit) 浮点元素的尾数规格化,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数标准化,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的单精度 (32-bit) 浮点元素的尾数规格化,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
将 a 复制到 tmp,然后将 b 中的 128 位 (由 4 个压缩单精度 (32 位) 浮点元素组成) 插入到 tmp 中 imm8 指定的位置。使用 zeromask k 将 tmp 存储到 dst (当未设置相应的掩码位时,元素会被清零)。
将 a 复制到 tmp,然后将 b 中的 256 位 (由 4 个压缩双精度 (64 位) 浮点元素组成) 插入到 tmp 中 imm8 指定的位置。使用 zeromask k 将 tmp 存储到 dst (当未设置相应的掩码位时,元素会被清零)。
将 a 复制到 tmp,然后在 imm8 指定的位置,将 b 中的 128 位 (由 4 个包装的 32 位整数组成) 插入 tmp。使用 zeromask k 将 tmp 存储到 dst (当未设置相应的掩码位时,元素会被清零)。
将 a 复制到 tmp,然后在 imm8 指定的位置将 b 的 256 位 (由 4 个包装的 64 位整数组成) 插入 tmp。使用 zeromask k 将 tmp 存储到 dst (当未设置相应的掩码位时,元素会被清零)。
计算 a 中每个包装的 32 位整数中前导零位的数目,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中每个包装的 64 位整数中前导零位的数目,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。水平添加相邻的中间 32 位整数对,并使用 zeromask k 将结果打包到 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 8 位整数与 b 中的包装有符号 8 位整数相乘,生成中间有符号的 16 位整数。水平添加相邻的一对中间有符号 16 位整数,并使用 zeromask k 将饱和结果打包到 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 32 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用零掩码 k 将包装的 8 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 16 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 32 位整数从 a 移至 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 64 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的双精度 (64-bit) 浮点元素从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的单精度 (32-bit) 浮点元素从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
从 a 复制偶数索引的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 复制奇数索引的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 复制偶数索引的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中每个包装的 64 位元素的低位有符号 32 位整数相乘,并使用零掩码 k 将有符号的 64 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中每个包装的 64 位元素的低无符号 32 位整数相乘,并使用零掩码 k 将无符号 64 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的带符号的 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。将每个中间整数截断为 18 个最高有效位,通过加 1 舍入,并使用 zeromask k 将位 [16:1] 存储到 dst (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的 32 位整数相乘,生成中间 64 位整数,并使用零掩码 k 将中间整数的低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并使用 zeromask k (元素当相应的屏蔽位未设置时被清零)。
计算 a 和 b 中包装的 32 位整数的按位或,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位或,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用带符号的饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用带符号的饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用无符号饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用无符号饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 内对双精度 (64-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的控件在 128 位 lane 内将 a 中的双精度 (64-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的控件在 128 位 lane 内将 a 的单精度 (32-bit) 浮点元素打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应选择器和索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 64 位整数进行混洗,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引将 a 和 b 中的双精度 (64-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对单精度 (32-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 256 位 lanes 内将 64 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 256 位 lanes 内将双精度 (64-bit) 浮点元素打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 的 a 中打乱 8 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对 32 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对 64 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对双精度 (64-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对单精度 (32-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
将每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向左旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
计算 a 中的包装的双精度 (64-bit) 浮点元素的近似倒数平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 8 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 32 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 64 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 b 的相应 8 位元素中的打乱控制掩码对 a 中的包装 8 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 中的 32 位整数中混洗 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 imm8 从 a 和 b 中选择的 128 位 (由 4 个单精度 (32-bit) 浮点元素组成) 混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 imm8 从 a 和 b 中选择的 128 位 (由 2 个双精度 (64-bit) 浮点元素组成) 混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 imm8 从 a 和 b 中选择的 128 位 (由 4 个 32 位整数组成) 混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 imm8 从 a 和 b 中选择的 128 位 (由 2 个 64 位整数组成) 混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件对 128 位 lane 内的双精度 (64-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 a 的 128 位 lane 的高 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的高 64 位中,将 128 位 lanes 的低 64 位从 a 复制到 dst,使用 zeromask k (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 a 的 128 位 lane 的低 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的低 64 位中,128 位 lanes 的高 64 位从 a 复制到 dst,使用 zeromask k (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数按计数左移,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数左移计数,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将填充的 64 位整数左移计数,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数左移由 count 中的相应元素指定的数量,同时移入零,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将移位的 32 位整数左移零时,将其对应计数指定的数量左移,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将移位的 64 位整数左移零时,将其对应计数指定的数量左移,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数按计数右移,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移动符号位的同时右移计数包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移动符号位的同时右移计数包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移由 count 中的相应元素指定的数量,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将符号位移位的同时,将已包装的 32 位整数向右移动计数中相应元素指定的数量,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移入符号位的同时,将包装的 64 位整数右移由 count 中相应元素指定的数量,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将移位的 32 位整数右移,同时移零,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移计数,同时移入零,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
向右移动已包装的 32 位整数,偏移量为相应元素在计数中指定的数量,同时向零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
向右移位包装的 64 位整数,其数量为计数中相应元素指定的数量,同时移位为零,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 8 位整数中减去 b 中的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装的 16 位整数中减去 b 中的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 32 位整数中减去 b 中的包装 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 64 位整数中减去 b 中的包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 中的包装后的单精度 (32-bit) 浮点元素减去 a 中的包装后的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 中的包装后的单精度 (32-bit) 浮点元素减去 a 中的包装后的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度从包装的 8 位整数中减去 b 中的包装有符号的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度将 b 中的包装 16 位整数减去 b 中的包装有符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 a 饱和度从 b 中的包装无符号 8 位整数减去 b 中的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 a 饱和度将 b 中的包装无符号 16 位整数减去 b 中的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 中的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 32 位粒度的 zeromask k (当未设置相应的掩码位时,32 位元素会被清零)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 中的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 64 位粒度的 zeromask k (当未设置相应的掩码位时,64 位元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的带符号的 16 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的带符号 32 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的带符号的 64 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的无符号 8 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的无符号 16 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的无符号 32 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的无符号 64 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素,并将包装的最大值存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并将包装的最大值存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的带符号的 8 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的带符号的 16 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的带符号 32 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的带符号的 64 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的无符号 8 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的无符号 16 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的无符号 32 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的无符号 64 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素,并将包装的最小值存储在 dst 中。 比较 a 和 b 中包装的双精度 (64-bit) 浮点元素,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并将包装的最小值存储在 dst 中。
比较 a 和 b 中包装的双精度 (64-bit) 浮点元素,并将包装的最小值存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并将包装的最小值存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
从 a 复制偶数索引的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
从 a 复制奇数索引的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
从 a 复制偶数索引的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
根据 a 中相应包装的 8 位整数的最高有效位设置掩码寄存器 k 的每个位。
根据 a 中相应的包装的 16 位整数的最高有效位设置掩码寄存器 k 的每一位。
根据 k 中相应位的值,将 dst 中每个包装的 8 位整数设置为全 1 或全 0。
根据 k 中相应位的值,将 dst 中每个包装的 16 位整数设置为全 1 或全 0。
将 a 和 b 中每个包装的 64 位元素的低符号 32 位整数相乘,并将带符号的 64 位结果存储在 dst 中。
将 a 和 b 中每个包装的 64 位元素的低无符号 32 位整数相乘,并将无符号 64 位结果存储在 dst 中。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并将结果存储在 dst 中。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并将结果存储在 dst 中。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并将结果存储在 dst 中。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并将结果存储在 dst 中。
将包装的带符号的 16 位整数与 a 和 b 相乘,生成中间的 32 位整数,并将中间整数的高 16 位存储在 dst 中。
将包装的无符号 16 位整数与 a 和 b 相乘,生成中间的 32 位整数,并将中间整数的高 16 位存储在 dst 中。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。将每个中间整数截断为 18 个最高有效位,加 1 舍入,然后将 [16: 1] 位存储到 dst。
将 a 和 b 中的包装的 16 位整数相乘,生成中间的 32 位整数,并将中间整数的低 16 位存储在 dst 中。
将 a 和 b 中的包装的 32 位整数相乘,生成中间 64 位整数,并将中间整数的低 32 位存储在 dst 中。
将包装的 64 位整数 vectors a 和 b 中的元素相乘,将结果的低 64 位存储在 dst 中。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并将 8 个组装字节存储到 dst 的相应 64 位元素。
计算 a 和 b 中包装的 32 位整数的按位或,并将结果存储在 dst 中。
计算 a 和 b 中包装的 64 位整数的按位或,并将结果存储在 dst 中。
计算 a 和 b 中 512 位 (代表整数数据) 的按位或,并将结果存储在 dst 中。
使用带符号的饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并将结果存储在 dst 中。
使用带符号的饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并将结果存储在 dst 中。
使用无符号饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并将结果存储在 dst 中。
使用无符号饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并将结果存储在 dst 中。
使用 imm8 中的控件在 128 位 lane 内对双精度 (64-bit) 浮点元素进行打乱,并将结果存储在 dst 中。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中随机排列 32 位整数,并将结果存储在 dst 中。请注意,与过去使用 permutevar 名称的内部函数不同,该内部函数在 128 位 lane 上进行了重排。此内部函数与 _mm512_permutexvar_epi32 相同,建议您使用该内部函数名称。
使用 b 中的控件在 128 位 lane 内将 a 双精度 (64-bit) 浮点元素进行打乱,并将结果存储在 dst 中。
使用 b 中的控件在 128 位 lane 内将 a 单精度 (32-bit) 浮点元素进行打乱,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并将结果存储在 dst 中。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并将结果存储在 dst 中。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 32 位整数,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对单精度 (32-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 imm8 中的控件在 256 位 lanes 中的 a 内随机排列 64 位整数,并将结果存储在 dst 中。
使用 imm8 中的控件在 256 位 lanes 内对双精度 (64-bit) 浮点元素进行打乱,并将结果存储在 dst 中。
使用 idx 中的相应索引将 a 中的 8 位整数打乱到 lanes 中,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中随机排列 32 位整数,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中随机排列 64 位整数,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中对双精度 (64-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 idx 中的相应索引对跨 lanes 中的单精度 (32-bit) 浮点元素进行打乱。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并将结果存储在 dst 中。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并将结果存储在 dst 中。该近似值的最大相对误差小于 2^-14。
通过加法减少包装的 32 位整数。返回 a 中所有元素的总和。
通过加法减少包装的 64 位整数。返回 a 中所有元素的总和。
另外,还减少了包装的双精度 (64-bit) 浮点元素。返回 a 中所有元素的总和。
此外,还减少了包装的单精度 (32-bit) 浮点元素。返回 a 中所有元素的总和。
通过按位 AND 减少包装的 32 位整数。返回 a 中所有元素的按位与。
通过按位 AND 减少包装的 64 位整数。返回 a 中所有元素的按位与。
最多减少包装的带符号 32 位整数。返回 a 中所有元素的最大值。
最大减少包装的带符号的 64 位整数。返回 a 中所有元素的最大值。
最多减少包装的无符号 32 位整数。返回 a 中所有元素的最大值。
最多减少包装的无符号 64 位整数。返回 a 中所有元素的最大值。
最大减少包装的双精度 (64-bit) 浮点元素。返回 a 中所有元素的最大值。
最大减少包装的单精度 (32-bit) 浮点元素。返回 a 中所有元素的最大值。
将包装的有符号的 32 位整数减少到最小值。返回 a 中所有元素的最小值。
将一个包装的有符号 64 位整数减少到最小值。返回 a 中所有元素的最小值。
将一个包装的无符号 32 位整数减少到最小值。返回 a 中所有元素的最小值。
将一个包装的无符号 64 位整数减少到最小。返回 a 中所有元素的最小值。
将一个包装的双精度 (64 位) 浮点元素减少到最小。返回 a 中所有元素的最小值。
将一个包装的单精度 (32 位) 浮点元素减少到最小。返回 a 中所有元素的最小值。
通过乘法减少包装的 32 位整数。返回 a 中所有元素的乘积。
通过乘法减少包装的 64 位整数。返回 a 中所有元素的乘积。
通过乘法减少包装的双精度 (64-bit) 浮点元素。返回 a 中所有元素的乘积。
通过乘法减少包装的单精度 (32-bit) 浮点元素。返回 a 中所有元素的乘积。
通过按位 OR 减少包装的 32 位整数。返回 a 中所有元素的按位或。
通过按位 OR 减少包装的 64 位整数。返回 a 中所有元素的按位或。
将 a 中每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向左旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并将结果存储在 dst 中。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的小数位数,然后将结果存储在 dst 中。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并将结果存储在 dst 中。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的小数位数,然后将结果存储在 dst 中。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数平方根,并将结果存储在 dst 中。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数平方根,并将结果存储在 dst 中。该近似值的最大相对误差小于 2^-14。
计算 a 和 b 中包装的无符号 8 位整数的绝对差,然后将每个连续的 8 个差水平地求和以生成八个无符号的 16 位整数,并将这些无符号的 16 位整数包装在 64 位元素的低 16 位中在 dst。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
向 dst 的所有元素广播 8 位整数 a。
将低包装的 16 位整数从 a 广播到 dst 的所有所有元素。
向 dst
的所有元素广播 32 位整数 a
。
向 dst
的所有元素广播 64 位整数 a
。
向 dst
的所有元素广播 64 位浮点数 a
。
向 dst
的所有元素广播 32 位浮点数 a
。
使用重复的 4 个元素序列在 dst 中设置包装的 32 位整数。
使用重复的 4 个元素序列在 dst 中设置包装的 64 位整数。
使用重复的 4 个元素序列在 dst 中设置包装的双精度 (64-bit) 浮点元素。
使用重复的 4 个元素序列在 dst 中设置包装的单精度 (32-bit) 浮点元素。
使用提供的值在 dst 中设置包装的 8 位整数。
使用提供的值在 dst 中设置包装的 16 位整数。
使用提供的值在 dst
中设置包装的 32 位整数。
使用提供的值在 dst 中设置包装的 64 位整数。
使用提供的值在 dst 中设置包装的双精度 (64-bit) 浮点元素。
使用提供的值在 dst
中设置包装的 32 位整数。
在 dst 中设置包装的 32 位整数,并以相反的顺序重复 4 个元素序列。
在 dst 中设置包装的 64 位整数,并以相反的顺序重复 4 个元素序列。
在 dst 中设置包装的双精度 (64-bit) 浮点元素,并以相反的顺序重复 4 个元素序列。
在 dst 中设置包装的单精度 (32-bit) 浮点元素,并以相反的顺序重复 4 个元素。
在 dst
中设置包装的 32 位整数,并以相反的顺序提供所提供的值。
在 dst 中设置包装的 64 位整数,并以相反的顺序提供所提供的值。
在 dst 中设置包装的双精度 (64-bit) 浮点元素,并以相反的顺序提供所提供的值。
在 dst
中设置包装的 32 位整数,并以相反的顺序提供所提供的值。
返回 __m512 类型的 vector,所有元素均设置为零。
返回类型为 __m512i 的 vector,所有元素均设置为零。
返回 __m512d
类型的 vector,所有元素均设置为零。
返回 __m512d
类型的 vector,所有元素均设置为零。
返回 __m512i
类型的 vector,所有元素均设置为零。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并将高 16 位存储在 dst 中)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并将高 32 位存储在 dst 中。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并将高 64 位存储在 dst 中)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的对应元素中指定的量,并将高 16 位存储在 dst 中。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的对应元素中指定的量,并将高 32 位存储在 dst 中。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的对应元素中指定的量,并将高 64 位存储在 dst 中。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并将低 16 位存储在 dst 中。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并将低 32 位存储在 dst 中。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并将低 64 位存储在 dst 中。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的对应元素中指定的量,并将低 16 位存储在 dst 中。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的对应元素中指定的量,并将低 32 位存储在 dst 中。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的对应元素中指定的量,并将低 64 位存储在 dst 中。
根据 b 的对应 8 位元素中的打乱控制掩码,将 a 中的包装 8 位整数进行打乱,并将结果存储在 dst 中。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并将结果存储在 dst 中。
imm8 从 a 和 b 中随机选择 128 位 (由 4 个单精度 (32-bit) 浮点元素组成),并将结果存储在 dst 中。
随机排列 imm8 从 a 和 b 中选择的 128 位 (由 2 个双精度 (64-bit) 浮点元素组成),并将结果存储在 dst 中。
随机排列 imm8 从 a 和 b 中选择的 128 位 (由 4 个 32 位整数组成),并将结果存储在 dst 中。
随机排列 imm8 从 a 和 b 中选择的 128 位 (由 2 个 64 位整数组成),并将结果存储在 dst 中。
使用 imm8 中的控件对 128 位 lane 中的双精度 (64-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并将结果存储在 dst 中。
使用 imm8 中的控件在 a 的 128 位 lane 的高 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lane 的高 64 位中,并从 a 到 dst 复制 128 位的 lanes 的低 64 位。
使用 imm8 中的控件在 a 的 128 位 lane 的低 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lane 的低 64 位中,并从 a 到 dst 复制 128 位的 lanes 的高 64 位。
将包装的 16 位整数按计数左移,同时将零移位,并将结果存储在 dst 中。
将包装的 32 位整数左移计数,同时将零移位,并将结果存储在 dst 中。
将填充的 64 位整数左移计数,同时将零移位,并将结果存储在 dst 中。
将包装的 16 位整数左移 imm8,同时将零移位,并将结果存储在 dst 中。
将包装的 32 位整数左移 imm8,同时将零移位,并将结果存储在 dst 中。
将包装的 64 位整数左移 imm8,同时将零移位,并将结果存储在 dst 中。
将包装的 16 位整数按 count 中相应元素指定的数量向左移位,同时将零移位,并将结果存储在 dst 中。
将填充的 32 位整数向左移动 count 中相应元素指定的数量,同时向零移动,并将结果存储在 dst 中。
将填充的 64 位整数向左移动由 count 中相应元素指定的数量,同时向零移动,并将结果存储在 dst 中。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并将结果存储在 dst 中。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并将结果存储在 dst 中。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并将结果存储在 dst 中。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并将结果存储在 dst 中。
将包装的 16 位整数按计数右移,同时将符号位移位,并将结果存储在 dst 中。
在移入符号位的同时按计数右移包装的 32 位整数,并将结果存储在 dst 中。
在移动符号位的同时按计数右移包装的 64 位整数,并将结果存储在 dst 中。
将包装的 16 位整数右移 imm8,同时将符号位移位,并将结果存储在 dst 中。
将包装的 32 位整数右移 imm8,同时将符号位移位,并将结果存储在 dst 中。
将包装的 64 位整数右移 imm8,同时将符号位移位,并将结果存储在 dst 中。
将包装的 16 位整数右移 count 中相应元素指定的数量,同时移入符号位,然后将结果存储在 dst 中。
在将符号位移位的同时,将已包装的 32 位整数右移由 count 中相应元素指定的数量,然后将结果存储在 dst 中。
将移位的 64 位整数向右移动计数中相应元素指定的数量,同时移入符号位,并将结果存储在 dst 中。
将包装的 16 位整数按计数右移,同时将零移位,并将结果存储在 dst 中。
将计数包装的 32 位整数右移,同时将零移位,并将结果存储在 dst 中。
按计数右移包装的 64 位整数,同时将零移位,并将结果存储在 dst 中。
将包装的 16 位整数右移 imm8,同时将零移位,并将结果存储在 dst 中。
将包装的 32 位整数右移 imm8,同时将零移位,并将结果存储在 dst 中。
将包装的 64 位整数右移 imm8,同时将零移位,并将结果存储在 dst 中。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并将结果存储在 dst 中。
向右移动已包装的 32 位整数,偏移量为计数中相应元素指定的数量,同时向零移动,并将结果存储在 dst 中。
向右移位包装的 64 位整数 (由 count 中相应元素指定的数量),同时向零移位,并将结果存储在 dst 中。
将 a 中的 512 位 (由 16 个包装的 32 位整数组成) 存储到内存中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 a 中的 512 位 (由 8 个包装的 64 位整数组成) 存储到内存中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 a 中的 512 位 (由 8 个包装的双精度 (64-bit) 浮点元素组成) 存储到内存中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 a 中的 512 位整数数据存储到内存中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 a 中的 512 位整数数据存储到内存中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
将 a 中的 512 位 (由 64 个包装的 8 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 512 位 (由 32 个包装的 16 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 512 位 (由 16 个包装的 32 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 512 位 (由 8 个包装的 64 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将来自 a
的 512 位 (由 8 个包装的双精度 (64-bit) 浮点元素组成) 存储到内存中。
将 a 中的 512 位整数数据存储到内存中。mem_addr 不需要在任何特定边界上对齐。
使用非临时内存提示将 512 位 (由 8 个包装的双精度 (64-bit) 浮点元素组成) 存储到内存中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
使用非临时内存提示将 512 位 (由 16 个包装的单精度 (32-bit) 浮点元素组成) 存储到内存中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
使用非临时内存提示将 512 位整数数据从 a 存储到内存中。mem_addr 必须在 64 字节边界上对齐,否则可能会生成常规保护异常。
从 a 中的包装 8 位整数中减去 b 中的包装 8 位整数,并将结果存储在 dst 中。
从 a 中的包装的 16 位整数中减去 b 中的包装的 16 位整数,并将结果存储在 dst 中。
从 a 中的包装 32 位整数中减去 b 中的包装 32 位整数,并将结果存储在 dst 中。
从 a 中的包装 64 位整数中减去 b 中的包装 64 位整数,并将结果存储在 dst 中。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
从 a 中的包装的单精度 (32-bit) 浮点元素中减去 b 中的包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
从 a 中的包装的单精度 (32-bit) 浮点元素中减去 b 中的包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
使用饱和度从包装的 8 位整数中减去 b 中的包装有符号 8 位整数,并将结果存储在 dst 中。
使用饱和度从 a 中的包装的 16 位整数减去 b 中的包装的有符号 16 位整数,并将结果存储在 dst 中。
使用 a 饱和度将 b 中的包装无符号 8 位整数减去 b 中的包装无符号 8 位整数,并将结果存储在 dst 中。
使用饱和度将 b 中的包装无符号 16 位整数减去 b 中的包装无符号 16 位整数,并将结果存储在 dst 中。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每个位,来自 a,b 和 c 的相应位用于形成到 imm8 的 3 位索引,并且将 imm8 中该位的值写入 dst 中的相应位。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的对应位。
计算 a 和 b 中包装的 8 位整数的按位与,生成中间 8 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 16 位整数的按位与,生成中间的 16 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 32 位整数的按位与,生成中间的 32 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 64 位整数的按位与,生成中间 64 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 8 位整数的按位 NAND,生成中间的 8 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 16 位整数的按位 NAND,生成中间的 16 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 32 位整数的按位 NAND,生成中间的 32 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 64 位整数的按位 NAND,生成中间的 64 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
返回类型为 __m512 的 vector,其中包含未定义的元素。
返回类型为 __m512i 的 vector,其中包含未定义的元素。
返回带有未定义元素的 __m512d
类型的 vector。
返回带有未定义元素的 __m512
类型的 vector。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 8 位整数,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 16 位整数,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 32 位整数,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 64 位整数,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的高半部分解包并交织双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的下半部分拆包并交织 8 位整数,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的下半部分拆包并交织 16 位整数,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 32 位整数,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的下半部分解包并交织 64 位整数,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的下半部分解解包并交织双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
从 a 和 b 中每个 128 位 lane 的下半部分解压包并交织单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并将结果存储在 dst 中。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并将结果存储在 dst 中。
计算 a 和 b 中 512 位 (代表整数数据) 的按位 XOR,并将结果存储在 dst 中。
将类型 __m128d 的 vector 强制转换为 __m512d 类型; 结果的高 384 位被清零。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型 __m256d 的 vector 强制转换为 __m512d 类型; 结果的高 256 位被清零。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型 __m128 的 vector 转换为 __m512 类型; 结果的高 384 位被清零。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m256 的 vector 强制转换为类型 __m512; 结果的高 256 位被清零。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m128i 的 vector 强制转换为类型 __m512i; 结果的高 384 位被清零。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
将类型为 __m256i 的 vector 强制转换为类型 __m512i; 结果的高 256 位被清零。此内部函数仅用于编译,不会生成任何指令,因此具有零延迟。
在 a 和 b 中添加较低的双精度 (64-bit) 浮点元素,将结果存储在 dst 的较低元素中,然后将较高的元素从 a 复制到 dst 的较高元素。
在 a 和 b 中添加较低的单精度 (32-bit) 浮点元素,将结果存储在 dst 的较低元素中,并将较高的 3 个包装的元素从 a 复制到 dst 的较高元素。
将 a 和 b 连接成一个 32 字节的 immediate 结果,将结果右移 imm8 个 32 位元素,并将低 16 字节 (4 个元素) 存储在 dst 中。
将 a 和 b 连接成一个 32 字节的 immediate 结果,将结果右移 imm8 个 64 位元素,并将低 16 字节 (2 个元素) 存储在 dst 中。
将输入 b
视为包装的 64 位整数,并将 c
视为包装的 8 位整数。
然后将来自 c
的 8 个 8 位值作为索引分组到相应的 64 位整数的位中。
然后,选择这些位并将其包装到输出中。
将输入掩码 k 的低 8 位广播到 dst 的所有 64 位元素。
将输入掩码 k 的低 16 位广播到 dst 的所有 32 位元素。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装带符号 8 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号 16 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装有符号 32 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 64 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 8 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 16 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 32 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 64 位整数,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,并将结果存储在掩码 vector k 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,并将结果存储在掩码 vector k 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 32 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 64 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 32 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否大于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否大于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数 (小于等于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数以得出小于或等于的结果,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否小于等于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数小于零,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 16 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 32 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数小于零,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数以得到小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装后的无符号 16 位整数 (小于),并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否小于,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 8 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号 16 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的 32 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的带符号的 64 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 16 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 32 位整数是否不相等,并将结果存储在掩码 vector k 中。
比较 a 和 b 中包装的无符号 64 位整数是否不相等,并将结果存储在掩码 vector k 中。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,并返回布尔结果 (0 或 1)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,并返回布尔结果 (0 或 1)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
测试 a 的每个 64 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
将带符号的 32 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 dst 的高位元素。
将有符号的 64 位整数 b 转换为双精度 (64-bit) 浮点元素,将结果存入 dst 的低位元素,将 a 的高位元素复制到 dst 的高位元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将有符号的 64 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存入 dst 的低位元素,将 a 的高 3 个包装元素从 a 复制到 dst 的高位元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的较低单精度 (32-bit) 浮点元素转换为 32 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的低位双精度 (64-bit) 浮点元素转换为 64 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的较低双精度 (64-bit) 浮点元素转换为 32 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的低位双精度 (64-bit) 浮点元素转换为 64 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素转换为单精度 (32-bit) 浮点元素,将结果存储在 dst 的下部元素中,并将上部的 3 个包装的元素从 a 复制到 dst 的上部元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的较低双精度 (64-bit) 浮点元素转换为 32 位无符号整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的低位双精度 (64-bit) 浮点元素转换为无符号 64 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将带符号的 32 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 dst 的高位元素。
将有符号的 64 位整数 b 转换为双精度 (64-bit) 浮点元素,将结果存入 dst 的低位元素,将 a 的高位元素复制到 dst 的高位元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将有符号的 64 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存入 dst 的低位元素,将 a 的高 3 个包装元素从 a 复制到 dst 的高位元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的较低单精度 (32-bit) 浮点元素转换为 32 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的低位单精度 (32-bit) 浮点元素转换为 64 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素转换为双精度 (64-bit) 浮点元素,将结果存储在 dst 的下部元素中,然后将上部的元素从 a 复制到 dst 的上部元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的较低单精度 (32-bit) 浮点元素转换为 32 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的低位单精度 (32-bit) 浮点元素转换为 64 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的较低单精度 (32-bit) 浮点元素转换为 32 位无符号整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的低位单精度 (32-bit) 浮点元素转换为无符号 64 位整数,并将结果存储在 dst 中。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将无符号的 32 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 dst 的高位元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将无符号的 64 位整数 b 转换为双精度 (64-bit) 浮点元素,将结果存储在 dst 的下部元素中,然后将 a 的上部元素复制到 dst 的上部元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将无符号的 64 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 dst 的高位元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的包装的 16 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 32 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 8 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 16 位整数,并将结果存储在 dst 中。
将带有 a 的包装的 64 位整数转换为带有截断的包装的 32 位整数,并将结果存储在 dst 中。
将 A 中的包装的无符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
将带符号的 32 位整数 b 转换为双精度 (64-bit) 浮点元素,将结果存储在 dst 的下部元素中,然后将 a 的上部元素复制到 dst 的上部元素。
将带符号的 32 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 dst 的高位元素。
将有符号的 64 位整数 b 转换为双精度 (64-bit) 浮点元素,将结果存入 dst 的低位元素,将 a 的高位元素复制到 dst 的高位元素。
将有符号的 64 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存入 dst 的低位元素,将 a 的高 3 个包装元素从 a 复制到 dst 的高位元素。
将两个 128 位 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并将结果存入 a
将包装的双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并将结果存储在 dst 中。
将 128 位 vector a
的最低 64 位中的 4 x 16 位半精度浮点值转换为存储在 128 位宽的 vector 中的 4 x 32 位浮点值。
将包装的单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并将结果存储在 dst 中。
将 128 位 vector a
中的 4 x 32 位浮点值转换为 4 x
16 位半精度浮点值存储在 128 位 vector 的最低 64 位中。
将 a 中的较低双精度 (64-bit) 浮点元素转换为 32 位整数,并将结果存储在 dst 中。
将 a 中的低位双精度 (64-bit) 浮点元素转换为 64 位整数,并将结果存储在 dst 中。
将 a 中的较低双精度 (64-bit) 浮点元素转换为 32 位无符号整数,并将结果存储在 dst 中。
将 a 中的低位双精度 (64-bit) 浮点元素转换为无符号 64 位整数,并将结果存储在 dst 中。
将 A 中的包装有符号 16 位整数转换为带符号饱和的包装 8 位整数,并将结果存储在 dst 中。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并将结果存储在 dst 中。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 8 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 16 位整数,并将结果存储在 dst 中。
将包装的带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并将结果存储在 dst 中。
将 a 中的较低单精度 (32-bit) 浮点元素转换为 32 位整数,并将结果存储在 dst 中。
将 a 中的低位单精度 (32-bit) 浮点元素转换为 64 位整数,并将结果存储在 dst 中。
将 a 中的较低单精度 (32-bit) 浮点元素转换为 32 位无符号整数,并将结果存储在 dst 中。
将 a 中的低位单精度 (32-bit) 浮点元素转换为无符号 64 位整数,并将结果存储在 dst 中。
将 a 中的较低双精度 (64-bit) 浮点元素转换为带截断的 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的低位双精度 (64-bit) 浮点元素转换为带有截断的 64 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的较低双精度 (64-bit) 浮点元素转换为带截断的 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的低位双精度 (64-bit) 浮点元素转换为带有截断的 64 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的较低双精度 (64-bit) 浮点元素转换为带截断的无符号 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的低位双精度 (64-bit) 浮点元素转换为带截断的无符号 64 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的较低单精度 (32-bit) 浮点元素转换为带截断的 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的低位单精度 (32-bit) 浮点元素转换为带有截断的 64 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的较低单精度 (32-bit) 浮点元素转换为带截断的 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的低位单精度 (32-bit) 浮点元素转换为带有截断的 64 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的较低单精度 (32-bit) 浮点元素转换为带截断的无符号 32 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的低位单精度 (32-bit) 浮点元素转换为带截断的无符号 64 位整数,并将结果存储在 dst 中。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并将结果存储在 dst 中。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并将结果存储在 dst 中。
将 a 中的较低双精度 (64-bit) 浮点元素转换为带截断的 32 位整数,并将结果存储在 dst 中。
将 a 中的低位双精度 (64-bit) 浮点元素转换为带有截断的 64 位整数,并将结果存储在 dst 中。
将 a 中的较低双精度 (64-bit) 浮点元素转换为带截断的无符号 32 位整数,并将结果存储在 dst 中。
将 a 中的低位双精度 (64-bit) 浮点元素转换为带截断的无符号 64 位整数,并将结果存储在 dst 中。
将 a 中的较低单精度 (32-bit) 浮点元素转换为带截断的 32 位整数,并将结果存储在 dst 中。
将 a 中的低位单精度 (32-bit) 浮点元素转换为带有截断的 64 位整数,并将结果存储在 dst 中。
将 a 中的较低单精度 (32-bit) 浮点元素转换为带截断的无符号 32 位整数,并将结果存储在 dst 中。
将 a 中的低位单精度 (32-bit) 浮点元素转换为带截断的无符号 64 位整数,并将结果存储在 dst 中。
将无符号的 32 位整数 b 转换为双精度 (64-bit) 浮点元素,将结果存储在 dst 的低位元素中,然后将 a 的高位元素复制到 dst 的高位元素。
将无符号的 32 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 dst 的高位元素。
将无符号的 64 位整数 b 转换为双精度 (64-bit) 浮点元素,将结果存储在 dst 的下部元素中,然后将 a 的上部元素复制到 dst 的上部元素。
将无符号的 64 位整数 b 转换为单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 dst 的高位元素。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 A 中的包装无符号 32 位整数转换为具有无符号饱和度的包装无符号 16 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并将结果存储在 dst 中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并将结果存储在 dst 中。
将 A 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并将结果存储在 dst 中。
计算 a 中与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs),并将 16 位结果存储在 dst 中。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
将 a 中的下部双精度 (64-bit) 浮点元素除以 b 中的下部双精度 (64-bit) 浮点元素,将结果存储在 dst 的下部元素中,并将上部的元素从 a 复制到 dst 的上部元素。
将 a 中的下部单精度 (32-bit) 浮点元素除以 b 中的下部单精度 (32-bit) 浮点元素,将结果存储在 dst 的下部元素中,并将上部 3 个包装的元素从 a 复制到上部元素 dst。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间单精度 (32-bit) 浮点元素与 src 中的元素相加,并将结果存储在 dst 中。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果存入 dst。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。使用有符号饱和将这 4 个结果与 src 中相应的 32 位整数相加,并将包装的 32 位结果存储在 dst 中。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果存入 dst。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并将包装的 32 位结果存储在 dst 中。
使用 c 中的包装的 64 位整数修复 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。imm8 用于设置所需的标志报告。
使用 c 中的较低 64 位整数修复 a 和 b 中较低的双精度 (64-bit) 浮点元素,将结果存储在 dst 的较低元素中,并将较高的元素从 a 复制到 dst 的较高元素。imm8 用于设置所需的标志报告。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用 c 中的低 32 位整数修复 a 和 b 中的低位单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 a 的高位元素 dst。imm8 用于设置所需的标志报告。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用 c 中的较低 64 位整数修复 a 和 b 中较低的双精度 (64-bit) 浮点元素,将结果存储在 dst 的较低元素中,并将较高的元素从 a 复制到 dst 的较高元素。imm8 用于设置所需的标志报告。
使用 c 中的低 32 位整数修复 a 和 b 中的低位单精度 (32-bit) 浮点元素,将结果存储在 dst 的低位元素中,并将高 3 个包装的元素从 a 复制到 a 的高位元素 dst。imm8 用于设置所需的标志报告。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,并将中间结果与较低元素 in c. Store 的结果相加到 dst 的较低元素中,并将较高的元素从 a 复制到 dst 的较高元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,并将中间结果与较低元素 in c. Store 的结果相加到 dst 的较低元素中,然后将较高的 3 个包装的元素从 a 复制到 dst 的较高元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。将结果存入 dst 的下层元素,将 a 的上层元素复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。将结果存储在 dst 的下部元素中,并将上部 3 个包装的元素从 a 复制到 dst 的上部元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后将求和的中间结果与较低元素 in c. Store 的结果相加到 dst 的较低元素中,然后将较高的元素从 a 复制到 dst 的较高元素中。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后将取反的中间结果与较低元素 in c. Store 相加,将结果与 dst 的较低元素相乘,然后将较高的 3 个包装的元素从 a 复制到 dst。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。将结果存入 dst 的下层元素,将 a 的上层元素复制到 dst 的上层元素。
将 a 和 b 中的下部单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的下部元素,将结果存储在 dst 的下部元素中,并将上部的 3 个包装的元素从 a 复制到上部 dst 的元素。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并将结果存储在 dst 中。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,并将结果存储在 dst 中。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 b 中较低的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,将结果存储在 dst 的低位元素中,并将高位元素从 a 复制到 dst 的上层元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 b 中较低的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,将结果存储在 dst 的较低元素中,并从 a 中复制较高的 3 个包装的元素到 dst 的上层元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 b 中较低的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,将结果存储在 dst 的低位元素中,并将高位元素从 a 复制到 dst 的上层元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
将 b 中较低的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,将结果存储在 dst 的较低元素中,并从 a 中复制较高的 3 个包装的元素到 dst 的上层元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数规格化,并将结果存储在 dst 中。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
将 a 中的包装的单精度 (32-bit) 浮点元素的尾数标准化,并将结果存储在 dst 中。 此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。 尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值: _MM_MANT_NORM_1_2 // interval [1, 2) _MM_MANT_NORM_p5_2 // interval [0.5, 2) _MM_MANT_NORM_p5_1 // interval [0.5, 1) _MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5) The sign is determined by sc which can take the following values:
标准化 b 中较低的双精度 (64-bit) 浮点元素的尾数,将结果存储在 dst 的较低元素中,然后将较高的元素从 a 复制到 dst 的较高元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中较低单精度 (32-bit) 浮点元素的尾数,将结果存储在 dst 的较低元素中,并将高 3 个包装的元素从 a 复制到 dst 的较高元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中较低的双精度 (64-bit) 浮点元素的尾数,将结果存储在 dst 的较低元素中,然后将较高的元素从 a 复制到 dst 的较高元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中较低单精度 (32-bit) 浮点元素的尾数,将结果存储在 dst 的较低元素中,并将高 3 个包装的元素从 a 复制到 dst 的较高元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
将 128 位 (由 4 个包装的 32 位整数组成) 从内存加载到 dst 中。mem_addr 必须在 16 字节边界上对齐,否则可能会生成一般保护异常。
将 128 位 (由 2 个包装的 64 位整数组成) 从内存加载到 dst 中。mem_addr 必须在 16 字节边界上对齐,否则可能会生成一般保护异常。
将 128 位 (由 16 个包装的 8 位整数组成) 从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
将 128 位 (由 8 个包装的 16 位整数组成) 从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
将 128 位 (由 4 个包装的 32 位整数组成) 从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
将 128 位 (由 2 个包装的 64 位整数组成) 从内存加载到 dst 中。mem_addr 不需要在任何特定边界上对齐。
计算 a 中每个包装的 32 位整数中前导零位的数目,并将结果存储在 dst 中。
计算 a 中每个包装的 64 位整数中前导零位的数目,并将结果存储在 dst 中。
将 b
和 c
的每个 64 位元素中的包装无符号 52 位整数相乘以形成 104 位中间结果。
将中间结果的高 52 位无符号整数与 a
中的相应无符号 64 位整数相加,并将结果存储在 dst
中。
将 b
和 c
的每个 64 位元素中的包装无符号 52 位整数相乘以形成 104 位中间结果。
将中间结果的低 52 位无符号整数与 a
中的相应无符号 64 位整数相加,并将结果存储在 dst
中。
使用相应的选择器和 idx 中的索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 writemask k 将结果存储在 dst 中 (当相应的掩码位未设置时,从 a 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)
使用 idx 中的对应选择器和索引在 a 和 b 中的 lanes 中对 a 和 b 中的单精度 (32-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 idx 复制元素)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的较低的双精度 (64-bit) 浮点元素相乘,并将中间结果与较低的元素 in c. Store 的结果相加,使用 writemask k 在 dst 的较低元素中 (当未使用 mask bit 0 时从 c 复制该元素) 设置),然后将 c 的上部元素复制到 dst 的上部元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,并将中间结果加到较低元素 in c. Store 中,并使用 writemask k 将结果存储到 dst 较低元素中 (当未使用 mask bit 0 时从 c 复制该元素) 设置),然后将 c 的高 3 个包装的元素复制到 dst 的高元素。
将 a 和 b 中的较低的双精度 (64-bit) 浮点元素相乘,并将中间结果与较低的元素 in c. Store 的结果相加,使用 writemask k 在 dst 的较低元素中 (当未使用 mask bit 0 时从 c 复制该元素) 设置),然后将 c 的上部元素复制到 dst 的上部元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,并将中间结果加到较低元素 in c. Store 中,并使用 writemask k 将结果存储到 dst 较低元素中 (当未使用 mask bit 0 时从 c 复制该元素) 设置),然后将 c 的高 3 个包装的元素复制到 dst 的高元素。
在 a 和 b 中分别乘以包装的单精度 (32-bit) 浮点元素,或者在 to/from 中将中间结果乘以包装的元素加减乘以 x,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 c 复制元素) 放)。
在 a 和 b 中分别乘以包装的单精度 (32-bit) 浮点元素,或者在 to/from 中将中间结果乘以包装的元素加减乘以 x,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 c 复制元素) 放)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 c 复制元素)。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用 writemask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,从 c 复制元素),并将 c 上的上层元素复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时从 c 复制该元素),并将高 3 个包装的元素从 c 复制到 dst 的上部元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用 writemask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,从 c 复制元素),并将 c 上的上层元素复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时从 c 复制该元素),并将高 3 个包装的元素从 c 复制到 dst 的上部元素。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,并使用 writemask k 将结果存储在 dst 中 (当未使用相应的 mask 位时从 c 复制元素) 放)。
在 a 和 b 中乘以包装的单精度 (32-bit) 浮点元素,或者在中间结果中减去并在 c from/to 中包装的元素相乘,然后使用 writemask k 将结果存储在 dst 中 (当未使用相应的 mask 位时从 c 复制元素) 放)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 c 复制)。
将 a 和 b 中的较低的双精度 (64-bit) 浮点元素相乘,然后使用写掩码 k 将求反的中间结果与较低的元素 in c. Store 的结果相加到 dst 的较低元素中 (当掩码位 0 为 0 时从 c 复制该元素) (未设置),然后将 c 的上部元素复制到 dst 的上部元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后使用写掩码 k 将取反的中间结果与较低元素 in c. Store 的结果相加到 dst 较低元素中 (当掩码位 0 为 0 时从 c 复制该元素) (未设置),然后将 c 的高 3 个包装的元素复制到 dst 的高元素。
将 a 和 b 中的较低的双精度 (64-bit) 浮点元素相乘,然后使用写掩码 k 将求反的中间结果与较低的元素 in c. Store 的结果相加到 dst 的较低元素中 (当掩码位 0 为 0 时从 c 复制该元素) (未设置),然后将 c 的上部元素复制到 dst 的上部元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后使用写掩码 k 将取反的中间结果与较低元素 in c. Store 的结果相加到 dst 较低元素中 (当掩码位 0 为 0 时从 c 复制该元素) (未设置),然后将 c 的高 3 个包装的元素复制到 dst 的高元素。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 c 复制元素)。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用 writemask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,从 c 复制元素),并将 c 上的上层元素复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时从 c 复制该元素),并将高 3 个包装的元素从 c 复制到 dst 的上部元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用 writemask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,从 c 复制元素),并将 c 上的上层元素复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时从 c 复制该元素),并将高 3 个包装的元素从 c 复制到 dst 的上部元素。
计算 a 中包装的带符号的 8 位整数的绝对值,并使用写掩码 k 将无符号的结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)
计算 a 中包装的带符号的 16 位整数的绝对值,并使用写掩码 k 将无符号的结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的有符号 32 位整数的绝对值,并使用 writemask k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中添加较低的双精度 (64-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并从中复制较高的元素。a 到 dst 的高位元素。
在 a 和 b 中添加较低的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的较低元素中 (当未设置 mask bit 0 时,该元素是从 src 复制的),并复制高位 3 从 a 到 dst 的高位元素。
在 a 和 b 中添加较低的双精度 (64-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并从中复制较高的元素。a 到 dst 的高位元素。
在 a 和 b 中添加较低的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的较低元素中 (当未设置 mask bit 0 时,该元素是从 src 复制的),并复制高位 3 从 a 到 dst 的高位元素。
使用饱和度在 a 和 b 中添加包装的带符号的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的带符号的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度在 a 和 b 中添加包装的无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的 16 字节块对连接成 32 字节的临时结果,将结果右移 imm8 字节,并使用写掩码 k 将低 16 个字节存储在 dst 中 (当相应的屏蔽位未置位时,从 src 复制元素)。
将 a 和 b 连接成一个 32 字节的 immediate 结果,将结果右移 imm8 个 32 位元素,并使用 writemask k 将低 16 字节 (4 个元素) 存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 连接成 32 字节的 immediate 结果,将结果右移 imm8 个 64 位元素,并使用 writemask k 将低 16 字节 (2 个元素) 存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在包装的 a 和 b 的 32 位整数元素之间执行逐个元素的按位 AND,使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位与,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的 32 位整数的按位 NOT,然后与 b 计算 AND,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的 64 位整数的按位 NOT,然后与 b 计算 AND,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 8 位整数平均,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 16 位整数进行平均,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将输入 b
视为包装的 64 位整数,并将 c
视为包装的 8 位整数。
然后将来自 c
的 8 个 8 位值作为索引分组到相应的 64 位整数的位中。
然后,选择这些位并将其包装到输出中。
使用控制掩码 k 混合 a 和 b 中的包装 8 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装的 16 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合 a 和 b 中的包装 32 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合 a 和 b 中的包装 64 位整数,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装后的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
使用控制掩码 k 混合来自 a 和 b 的包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
使用写掩码 k 将 d 的低包装的 8 位整数广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 32 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 64 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低单精度 (32-bit) 浮点型元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 32 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的带符号的 64 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 8 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装无符号 32 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置掩码位 0 时该元素清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置掩码位 0 时该元素清零)。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置掩码位 0 时该元素清零)。
根据 imm8 指定的比较操作数比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置掩码位 0 时该元素清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否相等,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的 32 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的 64 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数是否等于或大于等于,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否大于等于,然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否大于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数是否大于,并将结果使用零掩码 k1 存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否大于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数 (小于或等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数 (小于等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的无符号 8 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数 (小于或等于),然后使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素清零)。
比较 a 和 b 中包装的带符号的 64 位整数小于零,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数以得到小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否小于等于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否小于,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 16 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的 32 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将清零)。
比较 a 和 b 中包装的无符号 8 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数是否不相等,并使用零掩码 k1 将结果存储在掩码 vector k 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的活动 8 位整数 (它们各自的位设置在写掩码 k 中) 连续存储到 dst,并通过 src 中的其余元素。
将 a 中的活动 16 位整数 (它们各自的位设置在写掩码 k 中) 连续存储到 dst,并通过 src 中的其余元素。
将活跃的 32 位整数连续存储在 dst 中 (它们各自的位在写掩码 k 中设置的整数) 到 dst,并通过 src 中的其余元素。
将活跃的 64 位整数连续存储在 dst 中 (它们各自的位在写掩码 k 中设置的整数) 到 dst,并通过 src 中的其余元素。
将活跃的双精度 (64-bit) 浮点元素连续存储在 dst 中 (它们各自的位在写掩码 k 中设置) 到 dst,并通过 src 中的其余元素。
将活跃的单精度 (32-bit) 浮点元素连续存储在 dst 中 (将其各自的位设置在写掩码 k 中的那些元素中) 存储到 dst,并通过 src 中的其余元素。
使用写掩码 k (当未设置相应的掩码位时,将从 src 复制元素),测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
使用写掩码 k 测试 a 的每个 64 位元素是否与所有其他元素相等 (更接近最低有效位) (当未设置相应的掩码位时,将从 src 复制元素)。每个元素的比较在 dst 中形成零扩展位 vector。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素转换为单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素转换为双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),然后将上层元素从 a 复制到 dst 的上层元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用符号将包装的 8 位整数从 a 扩展为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
符号将包装的 8 位整数从 a 扩展为包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 的低 2 字节中的 8 位整数符号扩展为包装的 64 位整数,并使用 writemask k 将结果存入 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将带有 a 的包装的 16 位整数转换为带截断的 8 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
符号将包装后的 16 位整数从 a 扩展为包装后的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用符号将包装的 16 位整数从 a 扩展为包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 16 位整数转换为带有截断的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将带有 a 的包装的 32 位整数转换为带截断的包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用符号将包装的 32 位整数从 a 扩展为包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装有符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装有符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数在 a 中转换为带有截断的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的 32 位整数转换为带截断的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的 64 位整数转换为带有截断的包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 64 位整数转换为带截断的 16 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的 64 位整数转换为带截断的 32 位包装的整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中包装的 64 位整数转换为包装的 8 位整数并截断,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 的未对齐内存中。
将 a 中的包装的 64 位整数转换为带截断的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装的 64 位整数转换为带截断的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 8 位整数零扩展为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
零扩展包装的无符号 8 位整数在 a 的低 4 字节到包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
零扩展包装的无符号 8 位整数在 a 的低 2 字节到包装的 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 16 位整数零扩展为包装 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
零扩展包装的无符号 16 位整数 a 的低 4 字节到包装的 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数零扩展为包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数转换为包装双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将两个 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并使用 writemask k 将结果存储在单个 vector dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装后的半精度 (16-bit) 浮点元素转换为包装后的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素转换为单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 中的包装带符号的 16 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 16 位整数转换为有符号饱和的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 32 位整数转换为具有符号饱和的包装的 8 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 32 位整数转换为具有符号饱和的包装的 16 位整数,并将活动结果 (那些在 writemask k 中设置了相应位的结果) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的有符号 64 位整数转换为具有符号饱和的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 b 中的下部单精度 (32-bit) 浮点元素转换为双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的双精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的无符号 16 位整数转换为具有无符号饱和的包装的无符号 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装在 a 中的无符号 32 位整数转换为具有无符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装在 a 中的无符号 32 位整数转换为具有无符号饱和的包装的无符号 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的无符号 64 位整数在 a 中转换为具有无符号饱和的包装的 8 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 的未对齐内存中。
将包装在 a 中的无符号 64 位整数转换为具有无符号饱和的包装的 16 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
将包装的无符号 64 位整数在 a 中转换为具有无符号饱和的包装的 32 位整数,并将活动结果 (在 writemask k 中设置了相应位的那些) 存储到 base_addr 处的未对齐内存中。
计算 a 中的无符号 8 位整数与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs),并使用写掩码 k 将 16 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
将 a 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装的单精度 (32-bit) 浮点元素除以 b 中的包装的元素,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的较低双精度 (64-bit) 浮点元素除以 b 中的较低双精度 (64-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 时从 src 复制该元素 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 中的下部单精度 (32-bit) 浮点元素除以 b 中的下部单精度 (32-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的下部元素中 (当掩码位 0 时,该元素从 src 复制 (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 中的较低双精度 (64-bit) 浮点元素除以 b 中的较低双精度 (64-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 时从 src 复制该元素 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 中的下部单精度 (32-bit) 浮点元素除以 b 中的下部单精度 (32-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的下部元素中 (当掩码位 0 时,该元素从 src 复制 (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间的单精度 (32-bit) 浮点元素与 src 中的元素相加,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (未设置相应掩码位时从 src 复制元素)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。使用符号饱和将这 4 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并使用 writemask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动 8 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动 16 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的有效 32 位整数 (它们各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的有效 64 位整数 (它们各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 加载连续的活动双精度 (64-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中加载连续的活动单精度 (32-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 c 中的包装 64 位整数修复 a 和 b 中的包装双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 a 复制元素)。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 a 复制元素)。imm8 用于设置所需的标志报告。
使用 c 中的较低 64 位整数修复 a 和 b 中的较低双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的较低元素中 (当 mask bit 0 为 0 时从 a 复制该元素 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。imm8 用于设置所需的标志报告。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用 c 中的较低 32 位整数修复 a 和 b 中的较低单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的较低元素中 (当 mask bit 0 为 0 时从 a 复制该元素 (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。imm8 用于设置所需的标志报告。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用 c 中的较低 64 位整数修复 a 和 b 中的较低双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的较低元素中 (当 mask bit 0 为 0 时从 a 复制该元素 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。imm8 用于设置所需的标志报告。
使用 c 中的较低 32 位整数修复 a 和 b 中的较低单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的较低元素中 (当 mask bit 0 为 0 时从 a 复制该元素 (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。imm8 用于设置所需的标志报告。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时从 a 复制元素)。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,并使用 writemask k 将中间结果添加到 dst 较低元素中的较低元素 in c. Store 的结果 (当未使用掩码位 0 时从 a 复制该元素) set),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,并将中间结果加到较低元素 in c. Store 中,并使用 writemask k 将结果添加到 dst 较低元素中 (当未使用 mask bit 0 时从 a 复制该元素设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,并使用 writemask k 将中间结果添加到 dst 较低元素中的较低元素 in c. Store 的结果 (当未使用掩码位 0 时从 a 复制该元素) set),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,并将中间结果加到较低元素 in c. Store 中,并使用 writemask k 将结果添加到 dst 较低元素中 (当未使用 mask bit 0 时从 a 复制该元素设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 a 中复制元素放)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位则从 a 复制元素放)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (如果未设置相应的掩码位,则从 a 复制元素)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,从 a 复制元素)。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时从 a 复制该元素),然后将 a 的上部元素复制到 dst 的上部元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用 writemask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,从 a 复制该元素),并将 a 上的 3 个包装的元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时从 a 复制该元素),然后将 a 的上部元素复制到 dst 的上部元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。将结果存储在 dst 的下部元素中,并将上部 3 个包装的元素从 a 复制到 dst 的上部元素。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,并使用 writemask k 将结果存储在 dst 中 (当未使用相应的掩码位时,元素将从 a 复制放)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将中间结果中的包装后的元素 from/to 减去并相加,然后使用 writemask k 将结果存储在 dst 中 (如果没有使用相应的 mask 位,则从 a 复制元素放)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的较低的双精度 (64-bit) 浮点元素相乘,然后使用写掩码 k 将求反的中间结果与较低的元素 in c. Store 的结果相加到 dst 的较低元素中 (当掩码位 0 为 0 时从 a 复制 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后使用写掩码 k 将求反的中间结果与较低元素 in c. Store 的结果相加到 dst 较低元素中 (当掩码位 0 为 0 时,该元素是从 a 复制的 (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 和 b 中的较低的双精度 (64-bit) 浮点元素相乘,然后使用写掩码 k 将求反的中间结果与较低的元素 in c. Store 的结果相加到 dst 的较低元素中 (当掩码位 0 为 0 时从 a 复制 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后使用写掩码 k 将求反的中间结果与较低元素 in c. Store 的结果相加到 dst 较低元素中 (当掩码位 0 为 0 时,该元素是从 a 复制的 (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用 writemask k 将结果存储在 dst 中 (当当未设置相应的掩码位时,将从 a 复制元素)。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的低位元素中 (当未设置掩码位 0 时从 c 复制该元素),并将高位元素从 a 复制到 dst 的高位元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时从 c 复制该元素),并将高 3 个包装的元素从 a 复制到 dst 的上部元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的低位元素中 (当未设置掩码位 0 时从 c 复制该元素),并将高位元素从 a 复制到 dst 的高位元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时从 c 复制该元素),并将高 3 个包装的元素从 a 复制到 dst 的上部元素。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 b 中较低的双精度 (64-bit) 浮点元素的指数转换为表示整数指数的双精度 (64-bit) 浮点数,使用写掩码 k 将结果存储在 dst 的较低元素中 (该元素从 src 复制 (当未设置屏蔽位 0 时),然后将 a 的高位元素复制到 dst 的高位元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 b 中较低的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,使用写掩码 k 将结果存储在 dst 的较低元素中 (该元素从 src 复制 (当未设置掩码位 0 时),并将高 3 个包装的元素从 a 复制到 dst 的高元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 b 中较低的双精度 (64-bit) 浮点元素的指数转换为表示整数指数的双精度 (64-bit) 浮点数,使用写掩码 k 将结果存储在 dst 的较低元素中 (该元素从 src 复制 (当未设置屏蔽位 0 时),然后将 a 的高位元素复制到 dst 的高位元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
将 b 中较低的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,使用写掩码 k 将结果存储在 dst 的较低元素中 (该元素从 src 复制 (当未设置掩码位 0 时),并将高 3 个包装的元素从 a 复制到 dst 的高元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数标准化,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
标准化 a 中包装的单精度 (32-bit) 浮点元素的尾数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
标准化 b 中下部双精度 (64-bit) 浮点元素的尾数,使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部元素从 a 到 dst 的高位元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中较低单精度 (32-bit) 浮点元素的尾数,使用写掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制高 3 从 a 到 dst 的上层元素的包装的元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中下部双精度 (64-bit) 浮点元素的尾数,使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部元素从 a 到 dst 的高位元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中较低单精度 (32-bit) 浮点元素的尾数,使用写掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制高 3 从 a 到 dst 的上层元素的包装的元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
计算 a 中每个包装的 32 位整数中前导零位的数目,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中每个包装的 64 位整数中前导零位的数目,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。水平添加相邻的中间 32 位整数对,并使用 writemask k 将结果打包到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中的包装无符号 8 位整数与 b 中的包装有符号 8 位整数相乘,生成中间有符号的 16 位整数。水平相加相邻的中间带符号的 16 位整数对,并使用写掩码 k 将饱和结果包装到 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 8 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 16 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 8 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 16 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 32 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 64 位整数,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,使用写掩码 k 将最大值存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制较高的元素从 a 到 dst 的高位元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,使用写掩码 k 将最大值存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制较高的 3 从 a 到 dst 的上层元素的包装的元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,使用写掩码 k 将最大值存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制较高的元素从 a 到 dst 的高位元素。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,使用写掩码 k 将最大值存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制较高的 3 从 a 到 dst 的上层元素的包装的元素。
比较 a 和 b 中包装的带符号的 8 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号 16 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 8 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 16 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 32 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的无符号 64 位整数,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中包装的单精度 (32-bit) 浮点元素,并使用写掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,使用写掩码 k 将最小值存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),然后复制较高的元素从 a 到 dst 的高位元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,使用写掩码 k 将最小值存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制较高的 3 从 a 到 dst 的上层元素的包装的元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,使用写掩码 k 将最小值存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),然后复制较高的元素从 a 到 dst 的高位元素。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,使用写掩码 k 将最小值存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制较高的 3 从 a 到 dst 的上层元素的包装的元素。
使用写掩码 k 将包装的 8 位整数从 a 移到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 16 位整数从 a 移到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 32 位整数从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的 64 位整数从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的双精度 (64-bit) 浮点元素从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将包装的单精度 (32-bit) 浮点元素从 a 移动到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将低位双精度 (64-bit) 浮点元素从 b 移到 dst 的低位元素 (当未设置掩码位 0 时从 src 复制该元素),并将高位元素从 a 复制到 a 的高位元素 dst。
使用写掩码 k 将低位单精度 (32-bit) 浮点元素从 b 移到 dst 的低位元素 (当未设置掩码位 0 时从 src 复制该元素),并将高 3 个包装的元素从 a 复制到高位 dst 的元素。
从 a 复制偶数索引的双精度 (64-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 复制奇数索引的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 复制偶数索引的单精度 (32-bit) 浮点元素,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中每个包装的 64 位元素的低符号 32 位整数相乘,并使用写掩码 k 将有符号的 64 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中每个包装的 64 位元素的低无符号 32 位整数相乘,并使用写掩码 k 将无符号 64 位结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的下部双精度 (64-bit) 浮点元素相乘,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并从中复制上部元素。a 到 dst 的高位元素。
将 a 和 b 中的下部单精度 (32-bit) 浮点元素相乘,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制包装后的高 3 位元素从 a 到 dst 的高位元素。
将 a 和 b 中的下部双精度 (64-bit) 浮点元素相乘,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并从中复制上部元素。a 到 dst 的高位元素。
将 a 和 b 中的下部单精度 (32-bit) 浮点元素相乘,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制包装后的高 3 位元素从 a 到 dst 的高位元素。
将 a 和 b 中包装的带符号的 16 位整数相乘,生成 32 位中间整数,并使用写掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中包装的无符号 16 位整数相乘,生成 32 位中间整数,并使用写掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。将每个中间整数截断为 18 个最高有效位,通过加 1 舍入,并使用 writemask k 将位 [16:1] 存储到 dst (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的 16 位整数相乘,生成中间的 32 位整数,并使用写掩码 k 将中间整数的低 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的包装的 32 位整数相乘,生成中间 64 位整数,并使用写掩码 k 将中间整数的低 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并使用 writemask k (元素当相应的屏蔽位未设置时,从 src 复制)。
计算 a 和 b 中包装的 32 位整数的按位或,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位或,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用带符号的饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用带符号的饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用无符号饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用无符号饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 128 位 lane 内对双精度 (64-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的控件在 128 位 lane 内将 a 的双精度 (64-bit) 浮点元素进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的控件在 128 位 lane 内将 a 的单精度 (32-bit) 浮点元素打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用相应的选择器和 idx 中的索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 writemask k 将结果存储在 dst 中 (当相应的掩码位未设置时,从 a 复制元素)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用对应的选择器和 idx 中的索引在 a 和 b 中的 lanes 上对 a 和 b 中的单精度 (32-bit) 浮点元素进行混洗,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的 mask 位时,元素将从 a 复制)。
使用 idx 中的相应索引在跨 lanes 的 a 中打乱 8 位整数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
计算 b 中较低的双精度 (64-bit) 浮点元素的近似倒数,使用写掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),并复制较高的 x 元素从 a 到 dst 的高位元素。该近似值的最大相对误差小于 2^-14。
计算 b 中下部单精度 (32-bit) 浮点元素的近似倒数,使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部从 a 到 dst 的上层元素的 3 个包装的元素。该近似值的最大相对误差小于 2^-14。
将每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向左旋转 b 对应元素 b 中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的对应元素中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的对应元素中指定的位数,然后使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的小数位数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素四舍五入为 imm8 指定的分数位数,使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时,该元素从 src 复制),然后将上层元素从 a 复制到 dst 的上层元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的分数位数,使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时,该元素从 src 复制),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素四舍五入为 imm8 指定的分数位数,使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时,该元素从 src 复制),然后将上层元素从 a 复制到 dst 的上层元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的分数位数,使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时,该元素从 src 复制),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。该近似值的最大相对误差小于 2^-14。
计算 b 中较低的双精度 (64-bit) 浮点元素的近似平方根,使用写掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),然后复制从 a 到 dst 的上元素的上元素。该近似值的最大相对误差小于 2^-14。
计算 b 中较低单精度 (32-bit) 浮点元素的近似倒数平方根,使用写掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时从 src 复制该元素),然后复制从 a 到 dst 的高位元素的前 3 个包装的元素。该近似值的最大相对误差小于 2^-14。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 b 中的值缩放 a 中的包装双精度 (64-bit) 浮点元素,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部元素从 a 到 dst 的高位元素。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的下部元素 (未设置 mask bit 0 时从 src 复制该元素),并复制上部从 a 到 dst 的上层元素的 3 个包装的元素。
使用 b 中的值缩放 a 中的包装双精度 (64-bit) 浮点元素,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部元素从 a 到 dst 的高位元素。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 的下部元素 (未设置 mask bit 0 时从 src 复制该元素),并复制上部从 a 到 dst 的上层元素的 3 个包装的元素。
使用写掩码 k 将 8 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 向 dst 的所有元素广播 16 位整数 a (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 32 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
使用写掩码 k 将 64 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并使用 writemask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并使用 writemask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并使用 writemask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 16 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 32 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的相应元素中指定的数量,并使用 writemask k 将高 64 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并使用 writemask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并使用 writemask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并使用 writemask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 16 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 32 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的相应元素中指定的数量,并使用 writemask k 将低 64 位存储在 dst 中 (当相应的掩码位未设置时,元素从 a 中复制)。
使用 b 中相应的 8 位元素中的控件在 128 位 lane 内对 a 中的 8 位整数进行打乱,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件将 128 位 lane 中的 32 位整数随机排列,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件对 128 位 lane 中的双精度 (64-bit) 浮点元素进行混洗,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件 shuffle a 中的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 a 的 128 位 lane 的高 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的高 64 位中,将 128 位 lanes 的低 64 位从 a 复制到 dst,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
使用 imm8 中的控件在 a 的 128 位 lane 的低 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的低 64 位中,128 位 lanes 的高 64 位从 a 复制到 dst,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按计数左移,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数左移计数,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数左移计数,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数左移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数左移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数向左移动 imm8,同时向零移动,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按 count 中相应元素指定的数量向左移位,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将填充的 32 位整数向左移动计数中相应元素指定的数量,同时将其移位为零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将填充的 64 位整数向左移动 count 中相应元素指定的数量,同时将其移位为零,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 b 中下部双精度 (64-bit) 浮点元素的平方根,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部元素从 a 到 dst 的高位元素。
计算 b 中下部单精度 (32-bit) 浮点元素的平方根,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部从 a 到 dst 的上层元素的 3 个包装的元素。
计算 b 中下部双精度 (64-bit) 浮点元素的平方根,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部元素从 a 到 dst 的高位元素。
计算 b 中下部单精度 (32-bit) 浮点元素的平方根,使用 writemask k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部从 a 到 dst 的上层元素的 3 个包装的元素。
将包装的 16 位整数按计数右移,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移动符号位的同时右移计数包装的 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移动符号位的同时右移计数包装的 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移 imm8,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 count 中相应元素指定的数量,同时将符号位移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在将符号位移位的同时,将已包装的 32 位整数向右移动计数中相应元素指定的数量,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
在移入符号位的同时,将包装的 64 位整数向右移动计数中相应元素指定的数量,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移,同时移零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移,同时移零,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 32 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 64 位整数右移 imm8,同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
向右移动包装的 32 位整数整数 (由 count 中相应元素指定的数量),同时向零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
向右移位包装的 64 位整数,其数量为计数中相应元素指定的数量,同时向零移位,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 8 位整数中减去 b 中的包装 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装的 16 位整数中减去 b 中的包装的 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 32 位整数中减去 b 中的包装 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装 64 位整数中减去 b 中的包装 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
将 b 中的包装后的单精度 (32-bit) 浮点元素减去 a 中的包装后的单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 中的较低双精度 (64-bit) 浮点元素中减去 b 中较低的双精度 (64-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 时,该元素是从 src 复制的 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。
从 a 中的较低单精度 (32-bit) 浮点元素减去 b 中的较低单精度 (32-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 时从 src 复制该元素 (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
从 a 中的较低双精度 (64-bit) 浮点元素中减去 b 中较低的双精度 (64-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 时,该元素是从 src 复制的 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。
从 a 中的较低单精度 (32-bit) 浮点元素减去 b 中的较低单精度 (32-bit) 浮点元素,使用写掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 时从 src 复制该元素 (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
使用饱和度将 b 中的包装 8 位整数减去 b 中的包装 8 位有符号整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用饱和度将 b 中的包装 16 位整数减去 b 中的包装有符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 a 饱和度将 b 中的包装无符号 8 位整数减去 b 中的包装无符号 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
使用 a 饱和度从 b 中的包装无符号 16 位整数减去 b 中的包装无符号 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每一位,使用 src、a、b 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 writemask k 在 32 位粒度 (当相应的掩码位未设置时,从 src 复制 32 位元素)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 src、a、b 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 writemask k 在 64 位粒度 (当相应的掩码位未设置时,从 src 复制 64 位元素)。
计算 a 和 b 中包装的 8 位整数的按位与,生成中间 8 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 16 位整数的按位与,生成中间的 16 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 32 位整数的按位与,生成中间的 32 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 64 位整数的按位与,生成中间 64 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 8 位整数的按位 NAND,生成中间的 8 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 16 位整数的按位 NAND,生成中间的 16 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 32 位整数的按位 NAND,生成中间的 32 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
计算 a 和 b 中包装的 64 位整数的按位 NAND,生成中间 64 位值,如果中间值为零,则在结果掩码 k 中设置相应的位 (以写掩码 k 为准)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 8 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 16 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 32 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 64 位整数,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包并交织双精度 (64-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
从 a 和 b 中每个 128 位 lane 的下半部分解包并交织单精度 (32-bit) 浮点元素,并使用 writemask k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并使用写掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,将从 src 复制元素)。
计算 a 中包装的带符号的 8 位整数的绝对值,并使用零掩码 k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的带符号的 16 位整数的绝对值,并使用零掩码 k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的有符号 32 位整数的绝对值,并使用 zeromask k 将无符号结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数添加到 a 和 b 中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数添加到 a 和 b 中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中添加较低的双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时该元素清零),然后从 a 中复制较高的元素到 dst 的上层元素。
在 a 和 b 中添加较低的单精度 (32-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素归零),并复制较高的 3 个包装的元素从 a 到 dst 的上层元素。
在 a 和 b 中添加较低的双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时该元素清零),然后从 a 中复制较高的元素到 dst 的上层元素。
在 a 和 b 中添加较低的单精度 (32-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素归零),并复制较高的 3 个包装的元素从 a 到 dst 的上层元素。
使用饱和度在 a 和 b 中添加包装的带符号的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的带符号的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度在 a 和 b 中添加包装的无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 16 字节块对连接成一个 32 字节的临时结果,将结果右移 imm8 字节,并使用零掩码 k 将低 16 字节存储在 dst 中 (当未设置相应的掩码位时,元素将被清零))。
将 a 和 b 连接成 32 字节的 immediate 结果,将结果右移 imm8 个 32 位元素,并使用 zeromask k 将低 16 字节 (4 个元素) 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 连接成 32 字节的 immediate 结果,将结果右移 imm8 个 64 位元素,并使用 zeromask k 将低 16 字节 (2 个元素) 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 32 位整数的按位与,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位与,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的 32 位整数的按位 NOT,然后计算 b 中的 AND,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的 64 位整数的按位 NOT,然后与 b 计算 AND,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 8 位整数进行平均,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 16 位整数进行平均,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 8 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 32 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 64 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低单精度 (32-bit) 浮点元素从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的活动 8 位整数 (它们各自的位设置在 zeromask k 中) 连续存储到 dst,并将其余元素设置为零。
将 a 中的活动 16 位整数 (它们各自的位设置在 zeromask k 中) 连续存储到 dst,并将其余元素设置为零。
将活跃的 32 位整数连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的整数) 为 dst,并将其余元素设置为零。
将活跃的 64 位整数连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的整数) 为 dst,并将其余元素设置为零。
将活跃的双精度 (64-bit) 浮点元素连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的那些元素) 为 dst,并将其余元素设置为零。
将活跃的单精度 (32-bit) 浮点元素连续存储在 dst 中 (它们各自的位设置在零掩码 k 中的那些元素) 为 dst,并将其余元素设置为零。
使用零掩码 k (当未设置相应的掩码位时,元素将被清零),测试 a 的每个 32 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
使用零掩码 k (当未设置相应的掩码位时,元素将被清零),测试 a 的每个 64 位元素是否与所有其他元素在最接近最低有效位的相等性相等。每个元素的比较在 dst 中形成零扩展位 vector。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素转换为单精度 (32-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
根据 rounding[3: 0] 参数进行舍入,该参数可以是以下之一:
(_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) // 舍入到最接近的值,并抑制异常
(_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) // 向下取整并抑制异常
(_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) // 向上取整并抑制异常
(_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) // 截断并抑制异常
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素转换为双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),然后将上层元素从 a 复制到 dst 的上层元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用符号将包装的 8 位整数从 a 扩展为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 8 位整数从 a 扩展为包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 的低 2 字节中的 8 位整数符号扩展为包装的 64 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 16 位整数转换为带截断的 8 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
符号将包装的 16 位整数从 a 扩展为包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 16 位整数从 a 扩展为包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 32 位整数转换为带有截断的包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 32 位整数转换为带截断的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用符号将包装的 32 位整数从 a 扩展为包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 64 位整数转换为带截断的 8 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的 64 位整数转换为带截断的 16 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的 64 位整数转换为带截断的 32 位包装的整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 8 位整数零扩展为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
零扩展包装的无符号 8 位整数 a 的后 4 个字节到包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
零扩展包装的无符号 8 位整数在 a 的低 2 字节到包装的 64 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 16 位整数零扩展为包装 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
零扩展包装的无符号 16 位整数在 a 的低 4 字节到包装的 64 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数零扩展为包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将两个 vectors a 和 b 中的包装的单精度 (32-bit) 浮点元素转换为包装的 BF16 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在单个 vector dst 中 (当对应的掩码位不存在时,元素归零放)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装双精度 (64-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装后的半精度 (16-bit) 浮点元素转换为包装后的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素转换为包装的无符号 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的单精度 (32-bit) 浮点元素转换为包装的半精度 (16-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素转换为单精度 (32-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 中的包装有符号 16 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装有符号 32 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 A 中的包装有符号 32 位整数转换为带符号饱和的包装 16 位整数,并将结果存储在 dst 中。
将 a 中的包装有符号 64 位整数转换为带符号饱和的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装带符号的 64 位整数转换为带符号饱和的包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 中的下部单精度 (32-bit) 浮点元素转换为双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将带有 a 的包装的单精度 (32-bit) 浮点元素转换为带有截断的包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装的双精度 (32-bit) 浮点元素转换为带截断的包装的无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 16 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 32 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 64 位整数转换为具有无符号饱和的包装无符号 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中与 b 中的无符号 8 位整数的四元组的绝对差之和 (SADs) 的总和,并使用零掩码 k 将 16 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。对于每个 64 位 lane,在四个 8 位四元组上执行四个 SAD。前两个 SAD 使用 a 中 lane 的低 8 位四元组,而后两个 SAD 使用 a 中 lane 的较高 8 位四元组。根据 imm8 中的控件,从 128 位 lane 中选择 b 中的四元组,并且每个 64 位 lanes 中的每个 SAD 使用 8 位偏移量的选定四元组。
将 a 中的包装的双精度 (64-bit) 浮点元素除以 b 中的包装的元素,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装单精度 (32-bit) 浮点元素除以 b 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的较低双精度 (64-bit) 浮点元素除以 b 中的较低双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 为 0 时,该元素归零 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 中的下部单精度 (32-bit) 浮点元素除以 b 中的下部单精度 (32-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当掩码位 0 为 0 时,该元素清零) (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 中的较低双精度 (64-bit) 浮点元素除以 b 中的较低双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 为 0 时,该元素归零 (未设置),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 中的下部单精度 (32-bit) 浮点元素除以 b 中的下部单精度 (32-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当掩码位 0 为 0 时,该元素清零) (未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
计算 a 和 b 中 BF16 (16-bit) 浮点对的点积,将中间单精度 (32-bit) 浮点元素与 src 中的元素进行累加,并将结果存储在 dst 中使用 zeromask k (当对应的掩码为位未设置)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数相加,并将包装的 32 位结果使用 zeromask k 存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的 4 对相邻的无符号 8 位整数组与 b 中的相应有符号 8 位整数相乘,产生 4 个中间有符号 16 位结果。将这 4 个结果与 src 中对应的 32 位整数用带符号饱和求和,并将包装的 32 位结果用 zeromask k 存储在 dst 中 (当对应的掩码位未设置时,元素被清零)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。将这 2 个结果与 src 中对应的 32 位整数相加,并使用 zeromask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的 2 对相邻的有符号 16 位整数组与 b 中的相应 16 位整数相乘,产生 2 个中间有符号 32 位结果。使用符号饱和将这 2 个结果与 src 中相应的 32 位整数相加,并使用 zeromask k 将包装的 32 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 加载连续的活动 8 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 加载连续的活动 16 位整数 (那些在掩码 k 中设置了相应位的整数),并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的有效 32 位整数 (它们各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的有效 64 位整数 (它们各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的活动双精度 (64-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中加载连续的活动单精度 (32-bit) 浮点元素 (其各自的位在掩码 k 中设置),并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 c 中的包装 64 位整数修复 a 和 b 中的包装双精度 (64-bit) 浮点元素,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。imm8 用于设置所需的标志报告。
使用 c 中的包装 32 位整数修复 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。imm8 用于设置所需的标志报告。
使用 c 中的较低 64 位整数修复 a 和 b 中的较低双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 的较低元素中 (当不使用掩码位 0 时该元素清零) set),然后将上层元素从 a 复制到 dst 的上层元素。imm8 用于设置所需的标志报告。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用 c 中的较低 32 位整数固定 a 和 b 中的较低单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 的较低元素中 (当未使用掩码 bit 0 时该元素被清零) 设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。imm8 用于设置所需的标志报告。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
使用 c 中的较低 64 位整数修复 a 和 b 中的较低双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 的较低元素中 (当不使用掩码位 0 时该元素清零) set),然后将上层元素从 a 复制到 dst 的上层元素。imm8 用于设置所需的标志报告。
使用 c 中的较低 32 位整数固定 a 和 b 中的较低单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 的较低元素中 (当未使用掩码 bit 0 时该元素被清零) 设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。imm8 用于设置所需的标志报告。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后使用零掩码 k 将中间结果与较低元素 in c. Store 的结果加到 dst 较低元素中 (当未设置掩码位 0 时该元素归零) ),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后使用零掩码 k 将中间结果与较低元素 in c. Store 的中间结果相加到 dst 较低元素中 (未设置掩码位 0 时该元素归零) ),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后使用零掩码 k 将中间结果与较低元素 in c. Store 的结果加到 dst 较低元素中 (当未设置掩码位 0 时该元素归零) ),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后使用零掩码 k 将中间结果与较低元素 in c. Store 的中间结果相加到 dst 较低元素中 (未设置掩码位 0 时该元素归零) ),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或减去,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装后的单精度 (32-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或相减,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,从中间结果中减去 c 中的包装的元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用 zeromask k 将结果存储在 dst 的下元素中 (当掩码位 0 未设置时元素被清零),并将上元素从 a 复制到 dst 的上元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用 zeromask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,元素被清零),并将上层 3 个包装的元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用 zeromask k 将结果存储在 dst 的下元素中 (当掩码位 0 未设置时元素被清零),并将上元素从 a 复制到 dst 的上元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从中间结果中减去 c 中的较低元素。使用 zeromask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,元素被清零),并将上层 3 个包装的元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的包装后的双精度 (64-bit) 浮点元素相乘,或者将 C to/from 中的包装后的元素相加或减去,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,或者将 C from/to 中的包装元素相减并相加,得到中间结果,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,将取反的中间结果添加到 c 中的包装元素中,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的较低的双精度 (64-bit) 浮点元素相乘,然后使用零掩码 k 将求反的中间结果与较低的元素 in c. Store 的结果加到 dst 的较低元素中 (当未使用掩码位 0 时该元素清零) set),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后使用零掩码 k 将求反的中间结果与较低元素 in c. Store 的结果相加到 dst 的较低元素中 (当未使用掩码位 0 时该元素清零) 设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 和 b 中的较低的双精度 (64-bit) 浮点元素相乘,然后使用零掩码 k 将求反的中间结果与较低的元素 in c. Store 的结果加到 dst 的较低元素中 (当未使用掩码位 0 时该元素清零) set),然后将上层元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后使用零掩码 k 将求反的中间结果与较低元素 in c. Store 的结果相加到 dst 的较低元素中 (当未使用掩码位 0 时该元素清零) 设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
将 a 和 b 中的包装双精度 (64-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装单精度 (32-bit) 浮点元素相乘,从取反的中间结果中减去 c 中的包装元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用 zeromask k 将结果存储在 dst 中 (当未设置掩码位 0 时元素被清零),并将上元素从 a 复制到 dst 的上元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用 zeromask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,元素被清零),并将上层 3 个包装的元素从 a 复制到 dst 的上层元素。
将 a 和 b 中的较低双精度 (64-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用 zeromask k 将结果存储在 dst 中 (当未设置掩码位 0 时元素被清零),并将上元素从 a 复制到 dst 的上元素。
将 a 和 b 中的较低单精度 (32-bit) 浮点元素相乘,然后从取反的中间结果中减去 c 中的较低元素。使用 zeromask k 将结果存储在 dst 的下层元素中 (当掩码位 0 未设置时,元素被清零),并将上层 3 个包装的元素从 a 复制到 dst 的上层元素。
将 a 中每个包装的双精度 (64-bit) 浮点元素的指数转换为代表整数指数的双精度 (64-bit) 浮点数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 a 中每个包装的单精度 (32-bit) 浮点元素的指数转换为代表整数指数的单精度 (32-bit) 浮点数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。本质上,此内部函数为每个元素计算 floor(log2(x))。
将 b 中较低的双精度 (64-bit) 浮点元素的指数转换为表示整数指数的双精度 (64-bit) 浮点数,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 未设置),然后将较高的元素从 a 复制到 dst 的较高的元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 b 中较低的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 未设置),并将高 3 个包装的元素从 a 复制到 dst 的高元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
将 b 中较低的双精度 (64-bit) 浮点元素的指数转换为表示整数指数的双精度 (64-bit) 浮点数,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 未设置),然后将较高的元素从 a 复制到 dst 的较高的元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
将 b 中较低的单精度 (32-bit) 浮点元素的指数转换为表示整数指数的单精度 (32-bit) 浮点数,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码位 0 未设置),并将高 3 个包装的元素从 a 复制到 dst 的高元素。本质上,此内部函数计算下层元素的 floor(log2(x))。
将 a 中的包装的双精度 (64-bit) 浮点元素的尾数标准化,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
将 a 中的包装的单精度 (32-bit) 浮点元素的尾数规格化,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
标准化 b 中较低的双精度 (64-bit) 浮点元素的尾数,使用零掩码 k 将结果存储在 dst 的较低元素中 (未设置掩码位 0 时该元素归零),然后从中复制较高元素。a 到 dst 的高位元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中较低单精度 (32-bit) 浮点元素的尾数,使用零掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时该元素清零),然后复制高位 3 从 a 到 dst 的高位元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中较低的双精度 (64-bit) 浮点元素的尾数,使用零掩码 k 将结果存储在 dst 的较低元素中 (未设置掩码位 0 时该元素归零),然后从中复制较高元素。a 到 dst 的高位元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
标准化 b 中较低单精度 (32-bit) 浮点元素的尾数,使用零掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时该元素清零),然后复制高位 3 从 a 到 dst 的高位元素。此内部函数本质上计算 ±(2^k)*|x.significand|,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
对 x 中的包装字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2^8 上计算 a * x + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
对 x 中的反向包装的字节执行仿射变换。 也就是说,对于每个包装的字节,在 Galois 字段 2 ^ 8 上计算 a * inv (x) + b,其中 a 是 8x8 位矩阵,b 是恒定 8 位 immediate 数。
在包装的字节上执行 GF(2^8) 乘法。 该字段以多项式表示,具有约数多项式 x^8 + x^4 + x^3 + x + 1。
计算 a 中每个包装的 32 位整数中前导零位的数目,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中每个包装的 64 位整数中前导零位的数目,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。水平添加相邻的中间 32 位整数对,并使用 zeromask k 将结果打包到 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中的包装无符号 8 位整数与 b 中的包装有符号 8 位整数相乘,生成中间有符号的 16 位整数。水平添加相邻的一对中间有符号 16 位整数,并使用 zeromask k 将饱和结果打包到 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 32 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将包装的最大值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,使用零掩码 k 将最大值存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素清零),然后从中复制较高元素。a 到 dst 的高位元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,使用零掩码 k 将最大值存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素清零),然后复制包装后的高 3 位从 a 到 dst 的高位元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,使用零掩码 k 将最大值存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素清零),然后从中复制较高元素。a 到 dst 的高位元素。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,使用零掩码 k 将最大值存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素清零),然后复制包装后的高 3 位从 a 到 dst 的高位元素。
比较 a 和 b 中包装的带符号的 8 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 16 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号 32 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 8 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 16 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 32 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的无符号 64 位整数,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中的包装单精度 (32-bit) 浮点元素,并使用零掩码 k 将包装的最小值存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,使用零掩码 k 将最小值存储在 dst 的较低元素中 (当未设置掩码位 0 时该元素清零),然后从中复制较高元素。a 到 dst 的高位元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,使用零掩码 k 将最小值存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素清零),然后复制包装后的高 3 位从 a 到 dst 的高位元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,使用零掩码 k 将最小值存储在 dst 的较低元素中 (当未设置掩码位 0 时该元素清零),然后从中复制较高元素。a 到 dst 的高位元素。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,使用零掩码 k 将最小值存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素清零),然后复制包装后的高 3 位从 a 到 dst 的高位元素。
使用零掩码 k 将包装的 8 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 16 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 32 位整数从 a 移至 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的 64 位整数从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的双精度 (64-bit) 浮点元素从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将包装的单精度 (32-bit) 浮点元素从 a 移到 dst (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将较低的双精度 (64-bit) 浮点元素从 b 移动到 dst 的较低元素 (未设置掩码位 0 时将该元素清零),然后将较高的元素从 a 复制到 dst 的较高元素。
使用零掩码 k 将较低的单精度 (32-bit) 浮点元素从 b 移动到 dst 的较低元素 (未设置掩码位 0 时将该元素清零),然后将较高的 3 个包装的元素从 a 复制到较高的元素 dst。
从 a 复制偶数索引的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 复制奇数索引的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 复制偶数索引的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中每个包装的 64 位元素的低位有符号 32 位整数相乘,并使用零掩码 k 将有符号的 64 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中每个包装的 64 位元素的低无符号 32 位整数相乘,并使用零掩码 k 将无符号 64 位结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的双精度 (64-bit) 浮点元素相乘,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的单精度 (32-bit) 浮点元素相乘,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的低位双精度 (64-bit) 浮点元素相乘,使用零掩码 k 将结果存储在 dst 的低位元素中 (当未设置掩码位 0 时该元素归零),然后从 a 中复制高位元素到 dst 的上层元素。
将 a 和 b 中的下部单精度 (32-bit) 浮点元素相乘,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),并复制上部 3 个包装的元素从 a 到 dst 的上层元素。
将 a 和 b 中的低位双精度 (64-bit) 浮点元素相乘,使用零掩码 k 将结果存储在 dst 的低位元素中 (当未设置掩码位 0 时该元素归零),然后从 a 中复制高位元素到 dst 的上层元素。
将 a 和 b 中的下部单精度 (32-bit) 浮点元素相乘,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),并复制上部 3 个包装的元素从 a 到 dst 的上层元素。
将 a 和 b 中包装的带符号的 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中包装的无符号 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中乘以包装的带符号的 16 位整数,产生中间的带符号的 32 位整数。将每个中间整数截断为 18 个最高有效位,通过加 1 舍入,并使用 zeromask k 将位 [16:1] 存储到 dst (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的 16 位整数相乘,生成中间的 32 位整数,并使用零掩码 k 将中间整数的低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的包装的 32 位整数相乘,生成中间 64 位整数,并使用零掩码 k 将中间整数的低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并使用 zeromask k (元素当相应的屏蔽位未设置时被清零)。
计算 a 和 b 中包装的 32 位整数的按位或,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位或,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用带符号的饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用带符号的饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用无符号饱和度将包装的带符号的 16 位整数从 a 和 b 转换为包装的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用无符号饱和度将包装的带符号的 32 位整数从 a 和 b 转换为包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 内对双精度 (64-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 内对单精度 (32-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的控件在 128 位 lane 内将 a 中的双精度 (64-bit) 浮点元素进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的控件在 128 位 lane 内将 a 的单精度 (32-bit) 浮点元素打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应选择器和索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用相应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 32 位整数进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 64 位整数进行混洗,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用对应的选择器和 idx 中的索引将 a 和 b 中的双精度 (64-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对单精度 (32-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 的 a 中打乱 8 位整数,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
计算 b 中较低的双精度 (64-bit) 浮点元素的近似倒数,使用零掩码 k 将结果存储在 dst 的较低元素中 (未设置掩码位 0 时该元素归零),然后复制较高元素从 a 到 dst 的高位元素。该近似值的最大相对误差小于 2^-14。
计算 b 中较低的单精度 (32-bit) 浮点元素的近似倒数,使用零掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时该元素归零),并复制较高的 3 从 a 到 dst 的上层元素的包装的元素。该近似值的最大相对误差小于 2^-14。
将每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向左旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时该元素清零),并将上一个元素从 a 复制到 dst 的上一个元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素四舍五入为 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时该元素清零),并将上面的 3 个包装的元素从 a 复制到 dst 的上面的元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时该元素清零),并将上一个元素从 a 复制到 dst 的上一个元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素四舍五入为 imm8 指定的分数位数,并使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置掩码位 0 时该元素清零),并将上面的 3 个包装的元素从 a 复制到 dst 的上面的元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
计算 a 中的包装的双精度 (64-bit) 浮点元素的近似倒数平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。该近似值的最大相对误差小于 2^-14。
计算 b 中较低的双精度 (64-bit) 浮点元素的近似倒数平方根,使用零掩码 k 将结果存储在 dst 的较低元素中 (未设置掩码位 0 时该元素归零),然后复制从 a 到 dst 的上元素的上元素。该近似值的最大相对误差小于 2^-14。
计算 b 中较低单精度 (32-bit) 浮点元素的近似倒数平方根,使用零掩码 k 将结果存储在 dst 的较低元素中 (当未设置掩码位 0 时该元素归零),然后复制从 a 到 dst 的上层元素的上 3 个包装的元素。该近似值的最大相对误差小于 2^-14。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 b 中的值缩放 a 中的包装双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),然后复制上部元素从 a 到 dst 的高位元素。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),并复制上部 3 从 a 到 dst 的上层元素的包装的元素。
使用 b 中的值缩放 a 中的包装双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),然后复制上部元素从 a 到 dst 的高位元素。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),并复制上部 3 从 a 到 dst 的上层元素的包装的元素。
使用零掩码 k 将 8 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将低包装的 16 位整数从 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 32 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
使用零掩码 k 将 64 位整数 a 广播到 dst 的所有元素 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并使用 zeromask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的相应元素中指定的数量,并使用 zeromask k 将高 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并使用 zeromask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 16 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 32 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的相应元素中指定的数量,并使用 zeromask k 将低 64 位存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
根据 b 的相应 8 位元素中的打乱控制掩码对 a 中的包装 8 位整数进行打乱,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 128 位 lane 中的 32 位整数中混洗 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件对 128 位 lane 内的双精度 (64-bit) 浮点元素进行混洗,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件对 a 中的单精度 (32-bit) 浮点元素进行打乱,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 a 的 128 位 lane 的高 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的高 64 位中,将 128 位 lanes 的低 64 位从 a 复制到 dst,使用 zeromask k (当未设置相应的掩码位时,元素将被清零)。
使用 imm8 中的控件在 a 的 128 位 lane 的低 64 位中对 16 位整数进行打乱。将结果存储在 dst 的 128 位 lanes 的低 64 位中,128 位 lanes 的高 64 位从 a 复制到 dst,使用 writemask k (当未设置相应的掩码位时,将从 src 复制元素)。
将包装的 16 位整数按计数左移,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数左移计数,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将填充的 64 位整数左移计数,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数左移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数左移由 count 中的相应元素指定的数量,同时移入零,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将移位的 32 位整数左移零时,将其对应计数指定的数量左移,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将移位的 64 位整数左移零时,将其对应计数指定的数量左移,然后使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的双精度 (64-bit) 浮点元素的平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 中包装的单精度 (32-bit) 浮点元素的平方根,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 b 中下部双精度 (64-bit) 浮点元素的平方根,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),然后复制上部元素从 a 到 dst 的高位元素。
计算 b 中较低的单精度 (32-bit) 浮点元素的平方根,使用零掩码 k 将结果存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素清零),然后复制高 3 从 a 到 dst 的上层元素的包装的元素。
计算 b 中下部双精度 (64-bit) 浮点元素的平方根,使用零掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时该元素清零),然后复制上部元素从 a 到 dst 的高位元素。
计算 b 中较低的单精度 (32-bit) 浮点元素的平方根,使用零掩码 k 将结果存储在 dst 的较低元素中 (当未设置 mask bit 0 时该元素清零),然后复制高 3 从 a 到 dst 的上层元素的包装的元素。
将包装的 16 位整数按计数右移,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移动符号位的同时右移计数包装的 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移动符号位的同时右移计数包装的 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移 imm8,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移由 count 中的相应元素指定的数量,同时将符号位移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在将符号位移位的同时,将已包装的 32 位整数向右移动计数中相应元素指定的数量,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
在移入符号位的同时,将包装的 64 位整数右移由 count 中相应元素指定的数量,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将移位的 32 位整数右移,同时移零,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移计数,同时移入零,并使用 zeromask k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 32 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 64 位整数右移 imm8,同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
向右移动已包装的 32 位整数,偏移量为相应元素在计数中指定的数量,同时向零移位,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
向右移位包装的 64 位整数,其数量为计数中相应元素指定的数量,同时移位为零,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 8 位整数中减去 b 中的包装 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装的 16 位整数中减去 b 中的包装的 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 32 位整数中减去 b 中的包装 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装 64 位整数中减去 b 中的包装 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的包装的双精度 (64-bit) 浮点元素中减去 b 中的包装的双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
将 b 中的包装后的单精度 (32-bit) 浮点元素减去 a 中的包装后的单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 中的较低双精度 (64-bit) 浮点元素中减去 b 中的较低双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码 bit 0 为 0 时,该元素将被清零。(未设置),然后将上层元素从 a 复制到 dst 的上层元素。
从 a 中的较低单精度 (32-bit) 浮点元素中减去 b 中的较低单精度 (32-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码 bit 0 为 0 时,该元素将被清零。(未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
从 a 中的较低双精度 (64-bit) 浮点元素中减去 b 中的较低双精度 (64-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码 bit 0 为 0 时,该元素将被清零。(未设置),然后将上层元素从 a 复制到 dst 的上层元素。
从 a 中的较低单精度 (32-bit) 浮点元素中减去 b 中的较低单精度 (32-bit) 浮点元素,使用零掩码 k 将结果存储在 dst 的较低元素中 (当掩码 bit 0 为 0 时,该元素将被清零。(未设置),然后将前 3 个包装的元素从 a 复制到 dst 的高元素。
使用饱和度从包装的 8 位整数中减去 b 中的包装有符号的 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用饱和度将 b 中的包装 16 位整数减去 b 中的包装有符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 a 饱和度从 b 中的包装无符号 8 位整数减去 b 中的包装无符号 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
使用 a 饱和度将 b 中的包装无符号 16 位整数减去 b 中的包装无符号 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 中的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 32 位粒度的 zeromask k (当未设置相应的掩码位时,32 位元素会被清零)。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 中的 3 位索引,并将 imm8 中该位的值写入 dst 中的相应位,使用 64 位粒度的 zeromask k (当未设置相应的掩码位时,64 位元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分拆包和交织 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的高半部分解包和交织单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 8 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分拆包和交织 16 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 32 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织 64 位整数,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织双精度 (64-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
从 a 和 b 中每个 128 位 lane 的下半部分解包和交织单精度 (32-bit) 浮点元素,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并使用零掩码 k 将结果存储在 dst 中 (当未设置相应的掩码位时,元素将被清零)。
比较 a 和 b 中包装的带符号的 64 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中包装的无符号 64 位整数,并将包装的最大值存储在 dst 中。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,将最大值存储在 dst 的较低元素中,然后将较高的元素从 a 复制到 dst 的较高元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,将最大值存储在 dst 的较低元素中,并将较高的 3 个包装的元素从 a 复制到 dst 的较高元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中包装的无符号 64 位整数,并将包装的最小值存储在 dst 中。
比较 a 和 b 中较低的双精度 (64-bit) 浮点元素,将最小值存储在 dst 的较低元素中,然后将较高的元素从 a 复制到 dst 的较高元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
比较 a 和 b 中较低的单精度 (32-bit) 浮点元素,将最小值存储在 dst 的较低元素中,并将较高的 3 个包装的元素从 a 复制到 dst 的较高元素。
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。
根据 a 中相应包装的 8 位整数的最高有效位设置掩码寄存器 k 的每个位。
根据 a 中相应的包装的 16 位整数的最高有效位设置掩码寄存器 k 的每一位。
根据 k 中相应位的值,将 dst 中每个包装的 8 位整数设置为全 1 或全 0。
根据 k 中相应位的值,将 dst 中每个包装的 16 位整数设置为全 1 或全 0。
将 a 和 b 中的下部双精度 (64-bit) 浮点元素相乘,将结果存储在 dst 的下部元素中,然后将 a 的上部元素复制到 dst 的上部元素。
将 a 和 b 中的下部单精度 (32-bit) 浮点元素相乘,将结果存储在 dst 的下部元素中,并将上部的 3 个包装的元素从 a 复制到 dst 的上部元素。
对于 b 中的每个 64 位元素,使用 a 的相应 64 位元素内的字节粒度移位控制选择 8 个未对齐的字节,并将 8 个组装字节存储到 dst 的相应 64 位元素。
计算 a 和 b 中包装的 32 位整数的按位或,并将结果存储在 dst 中。
计算 a 和 b 中包装的 64 位整数的按位或,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引将 a 和 b 中的 8 位整数跨 lanes 打乱,并将结果存储在 dst 中。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中对 16 位整数进行打乱,并将结果存储在 dst 中。
使用对应的选择器和 idx 中的索引在 lanes 中的 a 和 b 中随机排列 32 位整数,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中随机排列 64 位整数,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对双精度 (64-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 idx 中的相应选择器和索引在 lanes 中的 a 和 b 中对单精度 (32-bit) 浮点元素进行混洗,并将结果存储在 dst 中。
使用 idx 中的相应索引将 a 中的 8 位整数打乱到 lanes 中,并将结果存储在 dst 中。
使用 idx 中的相应索引在跨 lanes 中对 16 位整数进行打乱,并将结果存储在 dst 中。
对于每个包装的 8 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 16 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 32 位整数 maps,该值等于逻辑 1 位的数量。
对于每个包装的 64 位整数 maps,该值均等于逻辑 1 位的数量。
计算 a 中包装的双精度 (64-bit) 浮点元素的近似倒数,并将结果存储在 dst 中。该近似值的最大相对误差小于 2^-14。
计算 a 中包装的单精度 (32-bit) 浮点元素的近似倒数,并将结果存储在 dst 中。该近似值的最大相对误差小于 2^-14。
计算 b 中较低的双精度 (64-bit) 浮点元素的近似倒数,将结果存储在 dst 的较低元素中,然后将较高的元素从 a 复制到 dst 的较高元素。该近似值的最大相对误差小于 2^-14。
计算 b 中较低的单精度 (32-bit) 浮点元素的近似倒数,将结果存储在 dst 的较低元素中,并将高 3 个包装的元素从 a 复制到 dst 的较高元素。该近似值的最大相对误差小于 2^-14。
将 a 中每个包装的 32 位整数中的位向左旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向左旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向左旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向左旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向右旋转 imm8 中指定的位数,并将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向右旋转 imm8 中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 32 位整数中的位向右旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中每个包装的 64 位整数中的位向右旋转 b 的相应元素中指定的位数,然后将结果存储在 dst 中。
将 a 中包装的双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,并将结果存储在 dst 中。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 a 中的包装的单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的小数位数,然后将结果存储在 dst 中。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,将结果存储在 dst 的下部元素中,并将上部的元素从 a 复制到 dst 的上部元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的分数位数,将结果存储在 dst 的下部元素中,并将上部的 3 个包装的元素从 a 复制到 dst 的上部元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部双精度 (64-bit) 浮点元素四舍五入到 imm8 指定的分数位数,将结果存储在 dst 的下部元素中,并将上部的元素从 a 复制到 dst 的上部元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
将 b 中的下部单精度 (32-bit) 浮点元素四舍五入到 imm8 指定的分数位数,将结果存储在 dst 的下部元素中,并将上部的 3 个包装的元素从 a 复制到 dst 的上部元素。
根据 imm8[2: 0] 参数进行舍入,该参数可以是以下之一:
_MM_FROUND_TO_NEAREST_INT // 舍入到最接近的值
_MM_FROUND_TO_NEG_INF // 向下取整
_MM_FROUND_TO_POS_INF // 向上舍入
_MM_FROUND_TO_ZERO // 截断
_MM_FROUND_CUR_DIRECTION // 使用 MXCSR.RC; 请参见 _MM_SET_ROUNDING_MODE
计算 b 中较低的双精度 (64-bit) 浮点元素的近似倒数平方根,将结果存储在 dst 的较低元素中,并将较高的元素从 a 复制到 dst 的较高元素。该近似值的最大相对误差小于 2^-14。
计算 b 中较低单精度 (32-bit) 浮点元素的近似倒数平方根,将结果存储在 dst 的较低元素中,并将高 3 个包装的元素从 a 复制到 dst 的较高元素。该近似值的最大相对误差小于 2^-14。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,并将结果存储在 dst 中。
使用 b 中的值缩放 a 中包装的单精度 (32-bit) 浮点元素,并将结果存储在 dst 中。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,将结果存储在 dst 的下部元素中,然后将 a 的上部元素复制到 dst 的上部元素。
使用 b 中的值缩放 a 中的包装的单精度 (32-bit) 浮点元素,将结果存储在 dst 的下部元素中,并将上部的 3 个包装的元素从 a 复制到 dst 的上部元素。
使用 b 中的值缩放 a 中包装的双精度 (64-bit) 浮点元素,将结果存储在 dst 的下部元素中,然后将 a 的上部元素复制到 dst 的上部元素。
使用 b 中的值缩放 a 中的包装的单精度 (32-bit) 浮点元素,将结果存储在 dst 的下部元素中,并将上部的 3 个包装的元素从 a 复制到 dst 的上部元素。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 imm8 位,并将高 16 位存储在 dst 中)。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 imm8 位,并将高 32 位存储在 dst 中。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 imm8 位,并将高 64 位存储在 dst 中)。
在 a 和 b 中连接包装的 16 位整数,产生一个中间 32 位结果。将结果左移 c 的对应元素中指定的量,并将高 16 位存储在 dst 中。
将 a 和 b 中的 32 位整数连接包装产生中间 64 位结果。将结果左移 c 的对应元素中指定的量,并将高 32 位存储在 dst 中。
在 a 和 b 中连接包装的 64 位整数,产生一个中间的 128 位结果。将结果左移 c 的对应元素中指定的量,并将高 64 位存储在 dst 中。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 imm8 位,并将低 16 位存储在 dst 中。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 imm8 位,并将低 32 位存储在 dst 中。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 imm8 位,并将低 64 位存储在 dst 中。
将 b 和 a 中的包装的 16 位整数连接起来,产生一个中间 32 位结果。将结果右移 c 的对应元素中指定的量,并将低 16 位存储在 dst 中。
连接包装在 b 和 a 中的 32 位整数,产生中间 64 位结果。将结果右移 c 的对应元素中指定的量,并将低 32 位存储在 dst 中。
将 b 和 a 中的包装的 64 位整数连接起来,产生一个中间的 128 位结果。将结果右移 c 的对应元素中指定的量,并将低 64 位存储在 dst 中。
将包装的 16 位整数按 count 中相应元素指定的数量向左移位,同时将零移位,并将结果存储在 dst 中。
计算 b 中较低的双精度 (64-bit) 浮点元素的平方根,将结果存储在 dst 的较低元素中,然后将较高的元素从 a 复制到 dst 的较高元素。
计算 b 中较低的单精度 (32-bit) 浮点元素的平方根,将结果存储在 dst 的较低元素中,并将高 3 个包装的元素从 a 复制到 dst 的较高元素。
在移动符号位的同时按计数右移包装的 64 位整数,并将结果存储在 dst 中。
将包装的 64 位整数右移 imm8,同时将符号位移位,并将结果存储在 dst 中。
将包装的 16 位整数右移 count 中相应元素指定的数量,同时移入符号位,然后将结果存储在 dst 中。
将移位的 64 位整数向右移动计数中相应元素指定的数量,同时移入符号位,并将结果存储在 dst 中。
将包装的 16 位整数向右移位 (由 count 中相应元素指定的数量),同时将零移位,并将结果存储在 dst 中。
将 a 中的 128 位 (由 4 个包装的 32 位整数组成) 存储到内存中。mem_addr 必须在 16 字节边界上对齐,否则可能会生成一般保护异常。
将 a 中的 128 位 (由 2 个包装的 64 位整数组成) 存储到内存中。mem_addr 必须在 16 字节边界上对齐,否则可能会生成一般保护异常。
将 a 中的 128 位 (由 16 个包装的 8 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 128 位 (由 8 个包装的 16 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 128 位 (由 4 个包装的 32 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
将 a 中的 128 位 (由 2 个包装的 64 位整数组成) 存储到内存中。mem_addr 不需要在任何特定边界上对齐。
从 a 中的较低双精度 (64-bit) 浮点元素中减去 b 中较低的双精度 (64-bit) 浮点元素,将结果存储在 dst 的较低元素中,并将较高的元素从 a 复制到 dst 的较高元素。
从 a 中的下部单精度 (32-bit) 浮点元素中减去 b 中的下部单精度 (32-bit) 浮点元素,将结果存储在 dst 的下部元素中,并将上部 3 个包装的元素从 a 复制到上部元素 dst。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 32 位整数中的每个位,来自 a,b 和 c 的相应位用于形成到 imm8 的 3 位索引,并且将 imm8 中该位的值写入 dst 中的相应位。
提供执行任何三操作数二进制函数的功能的按位三元逻辑; 特定的二进制函数由 imm8 中的值指定。对于每个包装的 64 位整数中的每一位,使用 a、b、c 中对应的位构成 imm8 的 3 位索引,并将 imm8 中该位的值写入 dst 中的对应位。
计算 a 和 b 中包装的 8 位整数的按位与,生成中间 8 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 16 位整数的按位与,生成中间的 16 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 32 位整数的按位与,生成中间的 32 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 64 位整数的按位与,生成中间 64 位值,如果中间值不为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 8 位整数的按位 NAND,生成中间的 8 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 16 位整数的按位 NAND,生成中间的 16 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 32 位整数的按位 NAND,生成中间的 32 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 64 位整数的按位 NAND,生成中间的 64 位值,如果中间值为零,则在结果掩码 k 中设置相应的位。
计算 a 和 b 中包装的 32 位整数的按位 XOR,并将结果存储在 dst 中。
计算 a 和 b 中包装的 64 位整数的按位 XOR,并将结果存储在 dst 中。
将 32 位掩码从 a 存储到内存中。
将 64 位掩码从 a 存储到内存中。
强制将受限制的事务内存 (RTM) 区域终止。 Intel’s documentation.
指定受限制的事务性存储器 (RTM) 代码区域的结尾。 Intel’s documentation.
自动比较和交换 16 字节 (128 位) 的数据。
主机是否支持 cpuid
指令?
将由 4 行 __m128 组成的 4x4 矩阵转置到位。
返回给定 leaf
(EAX
) 和 sub_leaf
(ECX
) 的 cpuid
指令的结果。
返回最高支持的 leaf
(EAX
) 和子叶 (ECX
) cpuid
值。
将无符号的 32 位整数 a
和 b
与无符号的 8 位进位 c_in
(进位标志) 相加,并将无符号的 32 位结果存储在 out
中,并返回进位 (进位或溢出标志)。
将无符号的 64 位整数 a
和 b
与无符号的 8 位进位 c_in
(进位标志) 相加,并将无符号的 64 位结果存储在 out
中,并返回进位 (进位或溢出标志)。
将无符号的 32 位整数 a
和 b
与无符号的 8 位进位 c_in
(进位或溢出标志) 相加,并将无符号的 32 位结果存储在 out
中,并返回进位 (进位或溢出标志)。
将无符号的 64 位整数 a
和 b
与无符号的 8 位进位 c_in
(进位或溢出标志) 相加,并将无符号的 64 位结果存储在 out
中,并返回进位 (进位或溢出标志)。
将 control
指定的 a
的位提取到结果的最低有效位中。
将 control
指定的 a
的位提取到结果的最低有效位中。
从 a
提取范围为 [start,start
+ length
) 的位到结果的最低有效位。
从 a
提取范围为 [start,start
+ length
) 的位到结果的最低有效位。
返回由 p
寻址的存储器的位置 b
中的位。
返回由 p
寻址的存储器的位置 b
中的位,然后将该位取反。
返回由 p
寻址的存储器的位置 b
中的位,然后将该位取反。
返回由 p
寻址的存储器的位置 b
中的位,然后将该位重置为 0
。
返回由 p
寻址的存储器的位置 b
中的位,然后将该位重置为 0
。
返回由 p
寻址的存储器的位置 b
中的位,然后将该位设置为 1
。
返回由 p
寻址的存储器的位置 b
中的位,然后将该位设置为 1
。
清除 x
的最低有效零位以下的所有位。
清除 x
的最低有效零位以下的所有位。
设置 x
的最低有效零位并清除所有其他位。
设置 x
的最低有效零位并清除所有其他位。
设置 x
的最低有效零位,并清除该位上方的所有位。
设置 x
的最低有效零位,并清除该位上方的所有位。
将 x
的所有位设置在最低有效位以下。
将 x
的所有位设置在最低有效位以下。
清除最低有效位并设置所有其他位。
清除最低有效位并设置所有其他位。
将掩码提高到最低设置位。
将掩码提高到最低设置位。
从以下位置恢复 XMM
,MMX
,MXCSR
和 x87
FPU 寄存器
512 字节长,16 字节对齐的内存区域 mem_addr
。
计算前导最高有效零位。
计算前导最高有效零位。
计算 a
中包装的 8 位整数的绝对值。
计算 a
中包装的 16 位整数的绝对值。
计算 a
中包装的 32 位整数的绝对值。
在 a
和 b
中添加包装的 8 位整数。
在 a
和 b
中添加包装的 16 位整数。
在 a
和 b
中添加包装的 32 位整数。
在 a
和 b
中添加包装的 64 位整数。
在 a
和 b
中添加包装的双精度 (64-bit) 浮点元素。
在 a
和 b
中添加包装的单精度 (32-bit) 浮点元素。
使用饱和度在 a
和 b
中添加包装的 8 位整数。
使用饱和度在 a
和 b
中添加包装的 16 位整数。
使用饱和度在 a
和 b
中添加包装的无符号 8 位整数。
使用饱和度在 a
和 b
中添加包装的无符号 16 位整数。
或者,将a
中的包装双精度 (64 位) 浮点元素与b
中的包装元素进行加减。
或者,将a
中的包装的单精度 (32 位) 浮点元素与b
中的包装的元素进行加减。
将 a
和 b
中的 16 字节块对连接成一个 32 字节的临时结果,将结果右移 n
字节,然后返回低 16 字节。
计算 a
和 b
中包装的双精度 (64-bit) 浮点元素的按位与。
计算 a
和 b
中包装的单精度 (32-bit) 浮点元素的按位与。
计算 a
和 b
中 256 位 (代表整数数据) 的按位与。
计算 a
中包装的双精度 (64-bit) 浮点元素的按位 NOT,然后计算 b
的 AND。
计算 a
中包装的单精度 (32-bit) 浮点元素的按位非,然后计算 b
的 AND。
计算 a
中 256 位 (代表整数数据) 的按位非,然后计算 b
的与。
a
和 b
中的包装无符号 8 位整数的平均值。
a
和 b
中的包装无符号 16 位整数的平均值。
使用控制掩码 IMM8
混合包装来自 a
和 b
的 16 位整数。
使用控制掩码 IMM8
混合来自 a
和 b
的包装的 32 位整数。
使用控制掩码 imm8
混合来自 a
和 b
的包装后的双精度 (64-bit) 浮点元素。
使用控制掩码 imm8
混合来自 a
和 b
的包装的单精度 (32-bit) 浮点元素。
使用 mask
混合来自 a
和 b
的包装的 8 位整数。
使用 c
作为掩码,混合来自 a
和 b
的包装后的双精度 (64-bit) 浮点元素。
使用 c
作为掩码,混合来自 a
和 b
的包装的单精度 (32-bit) 浮点元素。
将内存中的 128 位 (由 2 个包装的双精度 (64-bit) 浮点元素组成) 广播到返回的 vector 的所有元素。
从内存 (由 4 个包装的单精度 (32-bit) 浮点元素组成) 向广播的 vector 的所有元素广播 128 位。
从内存向返回的 vector 的所有元素广播双精度 (64-bit) 浮点元素。
从内存向返回的 vector 的所有元素广播单精度 (32-bit) 浮点元素。
将 a
的低位包装 8 位整数广播到 256 位返回值的所有元素。
将 a
的低位包装 32 位整数广播到 256 位返回值的所有元素。
将 a
的低位包装 64 位整数广播到 256 位返回值的所有元素。
将低双精度 (64-bit) 浮点元素从 a
广播到 256 位返回值的所有元素。
从 a 广播 128 位整数数据到 256 位返回值中的所有 128 位 lanes。
将低单精度 (32-bit) 浮点元素从 a
广播到 256 位返回值的所有元素。
将低位包装的 16 位整数从 a 广播到 256 位返回值的所有元素
将 a
中的 128 位 lanes 向左移 imm8
字节,同时向零移位。
将 a
中的 128 位 lanes 右移 imm8
字节,同时将其移位为零。
将类型 __m128d 的 vector 转换为 __m256d 类型; 结果的高 128 位未定义。
将类型为 __m256d 的 vector 强制转换为类型为 __m128d 的 vector。
将类型为 __m256d 的 vector 强制转换为类型为 __m256 的 vector。
将类型为 __m256d 的 vector 强制转换为类型为 __m256i 的 vector。
将类型 __m128 的 vector 转换为 __m256 类型; 结果的高 128 位未定义。
将类型为 __m256 的 vector 强制转换为类型为 __m128 的 vector。
将类型为 __m256 的 vector 强制转换为类型为 __m256d 的 vector。
将类型为 __m256 的 vector 强制转换为类型为 __m256i 的 vector。
将类型为 __m128i 的 vector 强制转换为类型 __m256i; 结果的高 128 位未定义。
将类型为 __m256i 的 vector 强制转换为类型为 __m256d 的 vector。
将类型为 __m256i 的 vector 强制转换为类型为 __m256 的 vector。
将类型为 __m256i 的 vector 强制转换为类型为 __m128i 的 vector。
将 a
中的包装的双精度 (64-bit) 浮点元素四舍五入为正无穷大。
将 a
中的包装的单精度 (32-bit) 浮点元素四舍五入为正无穷大。
根据 IMM5
指定的比较操作数比较 a
和 b
中包装的双精度 (64-bit) 浮点元素。
根据 IMM5
指定的比较操作数比较 a
和 b
中包装的单精度 (32-bit) 浮点元素。
比较 a
和 b
中的包装 8 位整数是否相等。
比较 a
和 b
中的包装的 16 位整数是否相等。
比较 a
和 b
中的包装 32 位整数是否相等。
比较 a
和 b
中的包装 64 位整数是否相等。
比较 a
和 b
中的包装的 8 位整数是否大于。
比较 a
和 b
中的包装的 16 位整数是否大于。
比较 a
和 b
中的包装的 32 位整数是否大于。
比较 a
和 b
中的包装 64 位整数是否大于。
将 8 位整数符号扩展为 16 位整数。
将 8 位整数符号扩展为 32 位整数。
将 8 位整数符号扩展为 64 位整数。
将 16 位整数符号扩展为 32 位整数。
将 16 位整数符号扩展为 64 位整数。
将 32 位整数符号扩展为 64 位整数。
将 a
中的包装的 32 位整数转换为包装的双精度 (64-bit) 浮点元素。
将 a
中的包装的 32 位整数转换为包装的单精度 (32-bit) 浮点元素。
将 a
中的无符号 8 位整数零扩展为 16 位整数。
将 a
中的低八位无符号 8 位整数零扩展为 32 位整数。
a
的前八个元素未使用。
将 a
中的低四位无符号 8 位整数零扩展到 64 位整数。
a
的前十二个元素未使用。
零将 a
中的包装的无符号 16 位整数扩展为包装的 32 位整数,并将结果存储在 dst
中。
将 a
中的低四位无符号 16 位整数零扩展到 64 位整数。
a
的前四个元素未使用。
将 a
中的无符号 32 位整数零扩展为 64 位整数。
将 a
中的包装的双精度 (64-bit) 浮点元素转换为包装的 32 位整数。
将 a
中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素。
将 a
中的包装的单精度 (32-bit) 浮点元素转换为包装的 32 位整数。
将 a
中的包装的单精度 (32-bit) 浮点元素转换为包装的双精度 (64-bit) 浮点元素。
返回 [4 x double]
的输入 vector 的第一个元素。
返回 [8 x i32]
的输入 vector 的第一个元素。
返回 [8 x float]
的输入 vector 的第一个元素。
将 a
中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数。
将 a
中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的 32 位整数。
计算 a
中的 4 个包装的 64 位浮点元素中的每一个除以 b
中相应的封装元素的除法。
计算 a
中的 8 个包装的 32 位浮点元素中的每一个除以 b
中相应的封装元素的除法。
使用 imm8
的高 4 位有条件地将 a
和 b
中的包装的单精度 (32-bit) 浮点元素相乘,对四个乘积求和,并使用 imm8
的低 4 位有条件地返回总和。
从 a
中提取一个 8 位整数,用 INDEX
选择。
返回包含零扩展整数数据的 32 位整数。
See LLVM commit D20468.
从 a
中提取一个 16 位整数,用 INDEX
选择。
返回包含零扩展整数数据的 32 位整数。
See LLVM commit D20468.
从 a
中提取一个 32 位整数,用 INDEX
选择。
从 a
中提取一个 64 位整数,用 INDEX
选择。
从 a
提取 128 位 (由 2 个包装的双精度 (64-bit) 浮点元素组成),并使用 imm8
进行选择。
从 a
提取 128 位 (由 4 个包装的单精度 (32-bit) 浮点元素组成),并用 imm8
选择。
从 a
中提取 128 位 (由整数数据组成),并用 imm8
选择。
从 IMM1
选择的 a
中提取 128 位 (整数数据)。
将 a
中的包装的双精度 (64-bit) 浮点元素四舍五入为负无穷大。
将 a
中的包装的单精度 (32-bit) 浮点元素四舍五入为负无穷大。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,并将中间结果与 c
中的包装的元素相加。
将 a
和 b
中的包装单精度 (32-bit) 浮点元素相乘,并将中间结果添加到 c
中的包装元素中。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,或者在 c
to/from 中将包装的元素相加或减去中间结果。
将 a
和 b
中包装的单精度 (32-bit) 浮点元素相乘,或者将 c
中包装的元素加/减到中间结果中。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,并从中间结果中减去 c
中的包装的双精度元素。
将 a
和 b
中的包装的单精度 (32-bit) 浮点元素相乘,并从中间结果中减去 c
中的包装元素。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,也可以从中间结果中减去或加上 c
中的包装元素。
将 a
和 b
中的包装单精度 (32-bit) 浮点元素相乘,或者将 c
中的包装元素从中间结果中减去或加上。
将 a
和 b
中的包装双精度 (64-bit) 浮点元素相乘,然后将取反的中间结果添加到 c
中的包装元素中。
将 a
和 b
中的包装单精度 (32-bit) 浮点元素相乘,并将取反的中间结果添加到 c
中的包装元素中。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,并从取反的中间结果中减去 c
中的包装的元素。
将 a
和 b
中的包装的单精度 (32-bit) 浮点元素相乘,并从取反的中间结果中减去 c
中的包装的元素。
在 a
和 b
中水平添加相邻的 16 位整数对。
在 a
和 b
中水平添加相邻的 32 位整数对。
在 4 个 64 位浮点 a
和 b
的两个包装的 vectors 中水平相加相邻对。
结果,来自 a
的元素之和在偶数位置返回,而来自 b
的元素之和在奇数位置返回。
在 8 个 32 位浮点 a
和 b
的两个包装的 vectors 中水平相加相邻对。
结果,来自 a
的元素之和返回到索引 0、1、4、5 的位置; 而 b
中的元素总和是位置
使用饱和度在 a
和 b
中水平添加相邻的 16 位整数对。
水平减去 a
和 b
中相邻的 16 位整数对。
水平减去 a
和 b
中相邻的 32 位整数对。
在 4 个 64 位浮点 a
和 b
的两个包装的 vectors 中对相邻对进行水平减法。
结果,来自 a
的元素之和在偶数位置返回,而来自 b
的元素之和在奇数位置返回。
将 8 个 32 位浮点 a
和 b
的两个包装的 vectors 中的相邻对进行水平减法。
结果,来自 a
的元素之和返回到索引 0、1、4、5 的位置; 而 b
中的元素总和是位置
使用饱和度水平减去 a
和 b
中相邻的 16 位整数对。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应为 1、2、4 和 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
复制 a
到结果,并在 index
指定的位置将 8 位整数 i
插入到结果中。
复制 a
到结果,并在 index
指定的位置将 16 位整数 i
插入到 result 中。
复制 a
到结果,然后在 index
指定的位置将 32 位整数 i
插入到结果中。
复制 a
到结果,然后在 index
指定的位置将 64 位整数 i
插入到 result 中。
将 a
复制到结果中,然后将 b
中的 128 位 (由 2 个包装的双精度 (64-bit) 浮点元素组成) 插入 imm8
指定的位置的结果中。
将 a
复制到结果中,然后将 b
中的 128 位 (由 4 个包装的单精度 (32-bit) 浮点元素组成) 插入 imm8
指定的位置的结果中。
复制 a
到结果,然后将 b
中的 128 位插入到 imm8
指定的位置的结果中。
将 a
复制到 dst
,然后在 IMM1
指定的位置插入来自 b
的 128 位 (整数数据)。
从未对齐的内存中将 256 位整数数据加载到结果中。
当数据越过高速缓存行边界时,此内部函数的性能可能比 _mm256_loadu_si256
更好。
从内存中将 256 位 (由 4 个包装的双精度 (64-bit) 浮点元素组成) 加载到结果中。
从内存中将 256 位 (由 8 个包装的单精度 (32-bit) 浮点元素组成) 加载到结果中。
从内存中将 256 位整数数据加载到结果中。
mem_addr
必须在 32 字节边界上对齐,否则可能会产生一个一般的保护异常。
从内存中加载两个 128 位值 (由 4 个包装的单精度 (32-bit) 浮点元素组成),并将它们组合为 256 位值。
从内存中加载两个 128 位值 (由 2 个包装的双精度 (64-bit) 浮点元素组成),并将它们组合为 256 位值。
从内存中加载两个 128 位值 (由整数数据组成),并将它们组合为 256 位值。
hiaddr
和 loaddr
不需要在任何特定边界上对齐。
从内存中将 256 位 (由 4 个包装的双精度 (64-bit) 浮点元素组成) 加载到结果中。
从内存中将 256 位 (由 8 个包装的单精度 (32-bit) 浮点元素组成) 加载到结果中。
从内存中将 256 位整数数据加载到结果中。
mem_addr
不需要在任何特定边界上对齐。
将 a
和 b
中包装的带符号的 16 位整数相乘,产生中间的带符号的 32 位整数。
水平添加相邻的中间 32 位整数对。
将 a
中的每个无符号 8 位整数与 b
中的相应带符号 8 位整数垂直相乘,生成中间带符号的 16 位整数。
水平相加相邻的中间带符号的 16 位整数对
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
使用 mask
从 mem_addr
指向的内存中加载包装的 32 位整数 (当未在相应元素中设置最高位时,元素清零)。
使用 mask
从 mem_addr
指向的内存中加载包装的 64 位整数 (当未在相应元素中设置最高位时,元素清零)。
使用 mask
将包装的双精度 (64-bit) 浮点元素从内存加载到结果中 (当未设置相应元素的高位时,元素清零)。
使用 mask
将包装的单精度 (32-bit) 浮点元素从内存加载到结果中 (当未设置相应元素的高位时,元素清零)。
使用 mask
将 a
中的包装后的 32 位整数存储到 mem_addr
指向的内存中 (当在相应元素中未设置最高位时,不存储元素)。
使用 mask
将 a
中的包装 64 位整数存储到 mem_addr
指向的内存中 (当未在相应元素中设置最高位时,不存储元素)。
使用 mask
将包装的双精度 (64-bit) 浮点元素从 a
存储到内存中。
使用 mask
将包装的单精度 (32-bit) 浮点元素从 a
存储到内存中。
比较 a
和 b
中的包装的 8 位整数,并返回包装的最大值。
比较 a
和 b
中的包装的 16 位整数,并返回包装的最大值。
比较 a
和 b
中的包装的 32 位整数,并返回包装的最大值。
比较 a
和 b
中包装的无符号 8 位整数,并返回包装的最大值。
比较 a
和 b
中包装的无符号 16 位整数,并返回包装的最大值。
比较 a
和 b
中的包装的无符号 32 位整数,并返回包装的最大值。
比较 a
和 b
中的包装的双精度 (64-bit) 浮点元素,并返回包装的最大值
比较 a
和 b
中的包装的单精度 (32-bit) 浮点元素,并返回包装的最大值
比较 a
和 b
中的包装的 8 位整数,并返回包装的最小值。
比较 a
和 b
中包装的 16 位整数,并返回包装的最小值。
比较 a
和 b
中的包装的 32 位整数,并返回包装的最小值。
比较 a
和 b
中包装的无符号 8 位整数,并返回包装的最小值。
比较 a
和 b
中包装的无符号 16 位整数,并返回包装的最小值。
比较 a
和 b
中包装的无符号 32 位整数,并返回包装的最小值。
比较 a
和 b
中的包装的双精度 (64-bit) 浮点元素,并返回包装的最小值
比较 a
和 b
中的包装的单精度 (32-bit) 浮点元素,并返回包装的最小值
从 a
复制偶数索引的双精度 (64-bit) 浮点元素,并返回结果。
从 a
复制奇数索引的单精度 (32-bit) 浮点元素,并返回结果。
从 a
复制偶数索引的单精度 (32-bit) 浮点元素,并返回结果。
从 a
中每个 8 位元素的最高有效位创建掩码,并返回结果。
根据 a
中相应的包装的双精度 (64-bit) 浮点元素的最高有效位设置返回掩码的每一位。
基于 a
中相应的包装单精度 (32-bit) 浮点元素的最高有效位来设置返回掩码的每一位。
计算无符号四元组的绝对差之和 (SADs)
a
中的 8 位整数与 b
中的 8 位整数相比较,并将 16 位结果存储在 dst 中。
使用来自 b
的一个四元组和来自 a
的八个四元组,对每个 128 位 lane 执行八个 SAD。
从 b
中指定的偏移量开始,从 b
中选择一个四元组。
从 a
中选择的有序 8 位整数开始的 8 个四元组,起始于 imm8
中指定的偏移量。
将 a
和 b
中每个包装的 64 位元素的低位 32 位整数相乘
将 a
和 b
中每个包装的 64 位元素的低位无符号 32 位整数相乘
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘。
将 a
和 b
中的包装的单精度 (32-bit) 浮点元素相乘。
将 a
和 b
中的包装的 16 位整数相乘,产生 32 位中间整数,并返回中间整数的高 16 位。
将 a
和 b
中包装的无符号 16 位整数相乘,生成中间的 32 位整数,并返回中间整数的高 16 位。
将 a
和 b
中的包装的 16 位整数相乘,生成中间带符号的 32 位整数。
将每个中间整数截断为 18 个最高有效位,再加 1 取整,然后返回 [16:1]
位。
将 a
和 b
中的包装的 16 位整数相乘,产生 32 位中间整数,并返回中间整数的低 16 位
将 a
和 b
中的包装的 32 位整数相乘,生成中间 64 位整数,并返回中间整数的低 32 位
计算 a
和 b
中按位或包装的双精度 (64-bit) 浮点元素。
计算 a
和 b
中按位或包装的单精度 (32-bit) 浮点元素。
计算 a
和 b
中 256 位 (表示整数数据) 的按位或
使用带符号的饱和度将包装的 16 位整数从 a
和 b
转换为包装的 8 位整数
使用带符号的饱和度将包装的 32 位整数从 a
和 b
转换为包装的 16 位整数
使用无符号饱和度将包装的 16 位整数从 a
和 b
转换为包装的 8 位整数
使用无符号饱和度将包装的 32 位整数从 a
和 b
转换为包装的 16 位整数
混洗 256 位 (由 4 个包装的双精度 (64-bit) 浮点元素组成),由 imm8
从 a
和 b
中选择。
混洗 256 位 (由 8 个包装的单精度 (32-bit) 浮点元素组成),由 imm8
从 a
和 b
中选择。
重排 imm8
从 a
和 b
选择的 128 位 (由整数数据组成)。
打乱由 imm8
从 a
和 b
选择的 128 位整数数据。
使用控制掩码 imm8
从 a
置换 64 位整数。
使用 imm8
中的控件对 a
中的 64 位浮点元素进行打乱。
使用 imm8
中的控件在 128 位 lanes 内对 a
中的双精度 (64-bit) 浮点元素进行混洗。
使用 imm8
中的控件在 128 位 lanes 内对 a
中的单精度 (32-bit) 浮点元素进行混洗。
根据 b
的内容,对 a
的 32 位整数进行包装的排列。
使用 idx
中相应的 32 位整数索引,将 a
中的八个 32 位浮点元素打乱到不同的 lanes 中。
使用 b
中的控件在 256 位 lanes 内对 a
中的双精度 (64-bit) 浮点元素进行混洗。
使用 b
中的控件在 128 位 lanes 内对 a
中的单精度 (32-bit) 浮点元素进行混洗。
计算 a
中包装的单精度 (32-bit) 浮点元素的近似倒数,并返回结果。
该近似值的最大相对误差小于 1.5*2^-12。
根据 ROUNDING
标志对 a
中的双精度 (64-bit) 浮点包装的 (64-bit) 浮点元素进行舍入。
ROUNDING
的值可能如下:
根据标志 ROUNDING
对 a
中的单精度 (32-bit) 浮点包装元素进行舍入。
ROUNDING
的值可能如下:
计算 a
中包装的单精度 (32-bit) 浮点元素的近似倒数平方根,并返回结果。
计算 a
和 b
中包装的无符号 8 位整数的绝对差,然后将每个连续的 8 个差水平求和,产生四个无符号的 16 位整数,并将这些无符号的 16 位整数包装在 64 位返回值的低 16 位中
向返回的 vector 的所有元素广播 8 位整数 a
。
此内部函数可能会生成 vpbroadcastb
。
向返回的 vector 的所有所有元素广播 16 位整数 a
。
此内部函数可能会生成 vpbroadcastw
。
向返回的 vector 的所有元素广播 32 位整数 a
。
此内部函数可能会生成 vpbroadcastd
。
向返回的 vector 的所有元素广播 64 位整数 a
。
此内部函数可能会生成 vpbroadcastq
。
向返回的 vector 的所有元素广播双精度 (64-bit) 浮点值 a
。
向返回的 vector 的所有元素广播单精度 (32-bit) 浮点值 a
。
使用提供的值在返回的 vector 中设置包装的 8 位整数。
使用提供的值在返回的 vector 中设置包装的 16 位整数。
使用提供的值在返回的 vector 中设置包装的 32 位整数。
使用提供的值在返回的 vector 中设置包装的 64 位整数。
设置包装的 __m256 返回的 vector 与提供的值。
设置包装的 __m256d 返回的 vector 具有提供的值。
包装的 __m256i 集合使用提供的值返回 vector。
使用提供的值在返回的 vector 中设置包装的双精度 (64-bit) 浮点元素。
使用提供的值在返回的 vector 中设置包装的单精度 (32-bit) 浮点元素。
在返回的 vector 中设置包装的 8 位整数,并以相反的顺序提供所提供的值。
在返回的 vector 中设置包装的 16 位整数,其提供的值的顺序相反。
在返回的 vector 中设置包装的 32 位整数,并以相反的顺序提供所提供的值。
在返回的 vector 中设置包装的 64 位整数,其提供的值的顺序相反。
设置包装的 __m256 返回的 vector 与提供的值。
设置包装的 __m256d 返回的 vector 具有提供的值。
包装的 __m256i 集合使用提供的值返回 vector。
在返回的 vector 中使用反向提供的值设置包装的双精度 (64-bit) 浮点元素。
在返回的 vector 中使用反向提供的值设置包装的单精度 (32-bit) 浮点元素。
返回 __m256d 类型的 vector,所有元素均设置为零。
返回 __m256 类型的 vector,所有元素都设置为零。
返回类型为 __m256i 的 vector,所有元素均设置为零。
根据 b
的内容,打乱 a
中的字节。
使用 imm8
中的控件,在 a
的 128 位 lanes 中打乱 32 位整数。
使用 imm8
中的控件对 128 位 lanes 中的双精度 (64-bit) 浮点元素进行混洗。
将 a
中的单精度 (32-bit) 浮点元素改组为
使用 imm8
中的控件的 128 位 lanes。
使用 imm8
中的控件,在 a
的 128 位 lanes 的高 64 位中打乱 16 位整数。
a
的 128 位 lanes 的低 64 位被复制到输出中。
使用 imm8
中的控件在 a
的 128 位 lanes 的低 64 位中打乱 16 位整数。
a
的 128 位 lanes 的高 64 位被复制到输出中。
当相应的带符号时,将 a
中的包装的 8 位整数取反
b
中的 8 位整数为负,并返回结果。
当 b
中的相应元素为零时,结果归零。
当相应的带符号时,将 a
中的 16 位整数包装为无效
b
中的 16 位整数为负,并返回结果。
当 b
中的相应元素为零时,结果归零。
当相应的带符号时,将 a
中的包装的 32 位整数取反
b
中的 32 位整数为负,并返回结果。
当 b
中的相应元素为零时,结果归零。
将 count
左移的 a
中的包装的 16 位整数移位,同时移零,并返回结果
将 count
左移的 a
中的包装的 32 位整数移位,同时移零,并返回结果
将 count
左移的 a
中的包装的 64 位整数移位,同时移零,并返回结果
将 a
中包装的 16 位整数在 IMM8
左移同时移零,返回结果;
将 a
中的包装的 32 位整数在 IMM8
左移同时移零,返回结果;
将 a
中的包装的 64 位整数在 IMM8
左移同时移零,返回结果;
将 a
中的 128 位 lanes 向左移 imm8
字节,同时向零移位。
将 a
中的包装的 32 位整数左移 count
中相应元素所指定的数量,同时将零移位,并返回结果。
将 a
中的包装的 64 位整数左移 count
中相应元素所指定的数量,同时将零移位,并返回结果。
返回 a
中包装的双精度 (64-bit) 浮点元素的平方根。
返回 a
中包装的单精度 (32-bit) 浮点元素的平方根。
将符号位移入时,将 a
中的包装的 16 位整数右移 count
。
将符号位移位时,将 a
中的包装的 32 位整数右移 count
。
将 a
中包装的 16 位整数右移 IMM8
,同时移入符号位。
将 a
中包装的 32 位整数右移 IMM8
,同时移入符号位。
将 a
中的 32 位整数向右移动,移动量由 count
中的相应元素指定,同时移入符号位。
将 a
中的包装的 16 位整数右移 count
,同时将零移位。
将 a
中的包装的 32 位整数右移 count
,同时将零移位。
将 a
中的包装的 64 位整数右移 count
,同时将零移位。
将 a
中包装的 16 位整数右移 IMM8
,同时将其移入零
将 a
中包装的 32 位整数右移 IMM8
,同时将其移入零
将 a
中包装的 64 位整数右移 IMM8
,同时将其移入零
将 a
中的 128 位 lanes 右移 imm8
字节,同时将其移位为零。
将 a
中的包装的 32 位整数右移 count
中相应元素所指定的数量,同时将零移位,
将 a
中的包装的 64 位整数右移 count
中相应元素所指定的数量,同时将零移位,
将来自 a
的 256 位 (由 4 个包装的双精度 (64-bit) 浮点元素组成) 存储到内存中。
将来自 a
的 256 位 (由 8 个包装的单精度 (32-bit) 浮点元素组成) 存储到内存中。
将来自 a
的 256 位整数数据存储到内存中。
mem_addr
必须在 32 字节边界上对齐,否则可能会产生一个一般的保护异常。
将来自 a
的高和低 128 位半部分 (每个半部分由 4 个包装的单精度 (32-bit) 浮点元素组成) 存储到内存中两个不同的 128 位位置。
将来自 a
的高和低 128 位半部分 (每个半部分由 2 个包装的双精度 (64-bit) 浮点元素组成) 存储到内存中两个不同的 128 位位置。
将来自 a
的高 128 位和低 128 位 (分别由整数数据组成) 存储到内存中两个不同的 128 位位置。
将来自 a
的 256 位 (由 4 个包装的双精度 (64-bit) 浮点元素组成) 存储到内存中。
将来自 a
的 256 位 (由 8 个包装的单精度 (32-bit) 浮点元素组成) 存储到内存中。
将来自 a
的 256 位整数数据存储到内存中。
mem_addr
不需要在任何特定边界上对齐。
将双精度值从 [4 x double]
的 256 位 vector 移动到 32 字节对齐的内存位置。
为了最大程度地减少缓存,数据被标记为非时间性的 (不太可能很快再次使用)。
将单精度浮点值从 [8 x float]
的 256 位 vector 移到 32 字节对齐的内存位置。
为了最大程度地减少缓存,数据被标记为非时间性的 (不太可能很快再次使用)。
将整数数据从 256 位整数 vector 移动到 32 字节对齐的内存位置。 为了最大程度地减少缓存,数据被标记为非时间性的 (不太可能很快再次使用)
从 a
中的包装的 8 位整数中减去 b
中的包装的 8 位整数
从 a
中的包装的 16 位整数减去 b
中的包装的 16 位整数
从 a
中的包装的 32 位整数减去 b
中的包装的 32 位整数
从 a
中的包装的 64 位整数减去 b
中的包装的 64 位整数
从 a
中的包装的元素中减去 b
中的包装后的双精度 (64-bit) 浮点元素。
从 a
中的包装元素中减去 b
中的包装的单精度 (32-bit) 浮点元素。
使用饱和度从 a
的包装的 8 位整数减去 b
的包装的 8 位整数。
使用饱和度从 a
的包装的 16 位整数减去 b
的包装的 16 位整数。
使用饱和度从 a
的包装的 8 位整数减去 b
的包装的无符号 8 位整数。
使用饱和度从 a
的包装的 16 位整数减去 b
的包装的无符号 16 位整数。
计算 a
和 b
中 256 位 (表示双精度 (64-bit) 浮点元素) 的按位与,生成中间 256 位值,如果中间值中每个 64 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位 NOT,然后与 b
进行与运算,得到一个中间值,如果中间值中每个 64 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
返回 CF
值。
计算 a
和 b
中 256 位 (表示单精度 (32-bit) 浮点元素) 的按位与,生成中间 256 位值,如果中间值中每个 32 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位非,然后与 b
进行与运算,产生一个中间值,如果中间值中每个 32 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
返回 CF
值。
计算 a
和 b
中 256 位 (表示整数数据) 的按位与,如果结果为零,则将 ZF
设置为 1,否则将 ZF
设置为 0。
计算 a
和 b
中 256 位 (表示双精度 (64-bit) 浮点元素) 的按位与,生成中间 256 位值,如果中间值中每个 64 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位 NOT,然后与 b
进行与运算,得到一个中间值,如果中间值中每个 64 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
如果 ZF
和 CF
的值均为零,则返回 1,否则返回 0。
计算 a
和 b
中 256 位 (表示单精度 (32-bit) 浮点元素) 的按位与,生成中间 256 位值,如果中间值中每个 32 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位非,然后与 b
进行与运算,产生一个中间值,如果中间值中每个 32 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
如果 ZF
和 CF
的值均为零,则返回 1,否则返回 0。
计算 a
和 b
中 256 位 (表示整数数据) 的按位与,如果结果为零,则将 ZF
设置为 1,否则将 ZF
设置为 0。
计算 a
和 b
中 256 位 (表示双精度 (64-bit) 浮点元素) 的按位与,生成中间 256 位值,如果中间值中每个 64 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位 NOT,然后与 b
进行与运算,得到一个中间值,如果中间值中每个 64 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
返回 ZF
值。
计算 a
和 b
中 256 位 (表示单精度 (32-bit) 浮点元素) 的按位与,生成中间 256 位值,如果中间值中每个 32 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位非,然后与 b
进行与运算,产生一个中间值,如果中间值中每个 32 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
返回 ZF
值。
计算 a
和 b
中 256 位 (表示整数数据) 的按位与,如果结果为零,则将 ZF
设置为 1,否则将 ZF
设置为 0。
返回带有未定义元素的 __m256d
类型的 vector。
返回带有未定义元素的 __m256
类型的 vector。
返回带有未定义元素的 __m256i 类型的 vector。
从每个高位的一半拆包并交织 8 位整数
a
和 b
中的 128 位 lane。
从每个高位的一半拆包并交织 16 位整数
a
和 b
的 128 位 lane
从每个高位的一半拆包并交织 32 位整数
a
和 b
的 128 位 lane
从每个高位的一半拆包并交织 64 位整数
a
和 b
的 128 位 lane
从 a
和 b
中每个 128 位 lane 的上半部分解包并交织双精度 (64-bit) 浮点元素。
从 a
和 b
中每个 128 位 lane 的高半部分解包并交织单精度 (32-bit) 浮点元素。
从每个低位拆包并交织 8 位整数
a
和 b
的 128 位 lane
从每个低位拆包并交织 16 位整数
a
和 b
的 128 位 lane
从每个低位拆包并交织 32 位整数
a
和 b
的 128 位 lane
从每个字节的下半部分拆包并交织 64 位整数
a
和 b
的 128 位 lane
从 a
和 b
中每个 128 位 lane 的下半部分解包并交织双精度 (64-bit) 浮点元素。
从 a
和 b
中每个 128 位 lanes 的下半部分解包并交织单精度 (32-bit) 浮点元素。
计算 a
和 b
中包装的双精度 (64-bit) 浮点元素的按位 XOR。
计算 a
和 b
中包装的单精度 (32-bit) 浮点元素的按位 XOR。
计算 a
和 b
中 256 位 (表示整数数据) 的按位 XOR
将所有 XMM 或 YMM 寄存器的内容清零。
将所有 YMM 寄存器的高 128 位清零; 寄存器的低 128 位保持不变。
从 a 创建一个 [4 x double]
的 256 位浮点 vector
[2 x double]
的 128 位浮点 vector。低 128 位包含源 vector 的值。
高 128 位设置为零。
从 a 创建一个 [8 x float]
的 256 位浮点 vector
[4 x float]
的 128 位浮点 vector。低 128 位包含源 vector 的值。
高 128 位设置为零。
从 128 位整数 vector 创建一个 256 位整数 vector。 低 128 位包含源 vector 的值。上层 128 位设置为零。
将来自 a
的 512 位 (由 16 个包装的单精度 (32-bit) 浮点元素组成) 存储到内存中。
计算 a
中包装的 8 位带符号整数的绝对值,并返回无符号结果。
计算 a
中每个包装的 16 位有符号整数的绝对值,并返回 16 位无符号整数
计算 a
中每个包装的 32 位有符号整数的绝对值,并返回 32 位无符号整数
在 a
和 b
中添加包装的 8 位整数。
在 a
和 b
中添加包装的 16 位整数。
在 a
和 b
中添加包装的 32 位整数。
在 a
和 b
中添加包装的 64 位整数。
在 a
和 b
中添加包装的双精度 (64-bit) 浮点元素。
添加 __m128 vectors。
返回一个新的 vector,其中 a
的低位元素替换为 a
和 b
的低位元素之和。
添加 a
和 b
的第一个组件,其他组件从 a
复制。
使用饱和度在 a
和 b
中添加包装的 8 位整数。
使用饱和度在 a
和 b
中添加包装的 16 位整数。
使用饱和度在 a
和 b
中添加包装的无符号 8 位整数。
使用饱和度在 a
和 b
中添加包装的无符号 16 位整数。
或者,在 a
中的包装的双精度 (64-bit) 浮点元素中加减 b
中的 to/from 包装的元素。
或者,在 a
中的包装的单精度 (32-bit) 浮点元素上加减 b
中的包装的元素 to/from。
对 a
中的数据 (state) 执行一轮 AES 解密流程。
对 a
中的数据 (state) 执行 AES 解密流的最后一轮。
对 a
中的数据 (state) 执行一轮 AES 加密流程。
对 a
中的数据 (state) 执行最后一轮 AES 加密流程。
在 a
上执行 InvMixColumns
转换。
协助扩展 AES 密钥。
将 a
和 b
中的 16 字节块连接成一个 32 字节的临时结果,将结果右移 n
字节,然后返回低 16 字节。
计算 a
和 b
中包装的双精度 (64-bit) 浮点元素的按位与。
包装的单精度 (32-bit) 浮点元素的按位与。
计算 a
和 b
中 128 位 (表示整数数据) 的按位与。
计算 a
的按位 NOT,然后计算 b
的 AND。
包装的单精度 (32-bit) 浮点元素的按位与非运算。
计算 a
中 128 位 (代表整数数据) 的按位非,然后计算 b
的与。
a
和 b
中的包装无符号 8 位整数的平均值。
a
和 b
中的包装无符号 16 位整数的平均值。
使用掩码 IMM8
混合来自 a
和 b
的 16 位整数包装。
使用控制掩码 IMM4
混合来自 a
和 b
的包装的 32 位整数。
使用控制掩码 IMM2
从 a
和 b
混合包装的双精度 (64-bit) 浮点元素
使用掩码 IMM4
从 a
和 b
混合包装的单精度 (32-bit) 浮点元素
使用 mask
混合 a
和 b
中的包装 8 位整数
使用 mask
混合来自 a
和 b
的包装的双精度 (64-bit) 浮点元素
使用 mask
混合来自 a
和 b
的包装的单精度 (32-bit) 浮点元素
从内存向返回的 vector 的所有元素广播单精度 (32-bit) 浮点元素。
将 a
的低位包装 8 位整数广播到 128 位返回值的所有元素。
将 a
的低位包装 32 位整数广播到 128 位返回值的所有元素。
将 a
的低位包装 64 位整数广播到 128 位返回值的所有元素。
将低双精度 (64-bit) 浮点元素从 a
广播到 128 位返回值的所有元素。
将低单精度 (32-bit) 浮点元素从 a
广播到 128 位返回值的所有元素。
将低包装的 16 位整数从 a 广播到 128 位返回值的所有元素
将 a
左移 IMM8
个字节,同时移入零。
将 a
右移 IMM8
个字节,同时移入零。
将 [2 x double]
的 128 位浮点 vector 转换为 [4 x float]
的 128 位浮点 vector。
将 [2 x double]
的 128 位浮点 vector 转换为 128 位整数 vector。
将 [4 x float]
的 128 位浮点 vector 转换为 [2 x double]
的 128 位浮点 vector。
将 [4 x float]
的 128 位浮点 vector 转换为 128 位整数 vector。
将 128 位整数 vector 转换为 [2 x double]
的 128 位浮点 vector。
将 128 位整数 vector 转换为 [4 x float]
的 128 位浮点 vector。
将 a
中的包装的双精度 (64-bit) 浮点元素四舍五入为整数,并将结果存储为包装的双精度浮点元素。
将 a
中的包装的单精度 (32-bit) 浮点元素四舍五入为整数,并将结果存储为包装的单精度浮点元素。
将 b
中的下部双精度 (64-bit) 浮点元素四舍五入为整数,将结果作为双精度浮点元素存储在本征结果的下部元素中,并将上部元素从 a
复制到上部内在结果的元素。
将 b
中的下部单精度 (32-bit) 浮点元素四舍五入为整数,将结果作为单精度浮点元素存储在内部结果的下部元素中,并将高 3 个包装的元素从 a
复制到内在结果的上层要素。
使高速缓存层次结构中所有级别的包含 p
的高速缓存行失效并刷新。
在有限域 GF(2^k) 上执行两个 64 位多项式的无进位乘法。
根据 IMM5
指定的比较操作数比较 a
和 b
中包装的双精度 (64-bit) 浮点元素。
根据 IMM5
指定的比较操作数比较 a
和 b
中包装的单精度 (32-bit) 浮点元素。
根据 IMM5
指定的比较操作数,比较 a
和 b
中的低位双精度浮点元素 (64-bit),将结果存入返回的 vector 的低位元素,并将 a
的高位元素复制到返回的 vector 的高位元素。
根据 IMM5
指定的比较操作数比较 a
和 b
中的低位单精度 (32-bit) 浮点元素,将结果存储在返回的 vector 的低位元素中,并将高 3 个包装的元素从 a
复制到返回 vector。
比较 a
和 b
中的包装 8 位整数是否相等。
比较 a
和 b
中的包装的 16 位整数是否相等。
比较 a
和 b
中的包装 32 位整数是否相等。
比较 a
和 b
中的包装 64 位整数是否相等
比较 a
和 b
中的相应元素是否相等。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果输入元素相等,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素的相等比较取代。
比较两个输入中的最低 f32
是否相等。
如果两个输入相等,结果的最低 32 位将为 0xffffffff
,否则为 0
。
结果的高 96 位是 a
的高 96 位。
使用 IMM8
中的控件将 a
和 b
中的包装字符串与长度 la
和 lb
进行比较,如果 b
不包含空字符且结果掩码为零,则返回 1
,否则返回 0
。
使用 IMM8
中的控件将 a
和 b
中的包装字符串与长度 la
和 lb
进行比较,如果结果掩码非零则返回 1
,否则返回 0
。
使用 IMM8
中的控件将包装的字符串 a
和 b
与长度 la
和 lb
进行比较,并返回生成的索引。
与 _mm_cmpistri
相似,但 _mm_cmpistri
隐式确定 a
和 b
的长度。
使用 IMM8
中的控件将 a
和 b
中包装的字符串与长度 la
和 lb
进行比较,并返回生成的掩码。
使用 IMM8
中的控件将 a
和 b
中的包装字符串与长度 la
和 lb
进行比较,并返回结果位掩码的位 0
。
使用 IMM8
中的控件将 a
和 b
中的包装字符串与长度 la
和 lb
进行比较,如果 a 中的任何字符为空,则返回 1
,否则返回 0
。
使用 IMM8
中的控件将 a
和 b
中的包装字符串与长度 la
和 lb
进行比较,如果 b
中的任何字符为空,则返回 1
,否则返回 0
。
比较 a
和 b
中的对应元素是否大于等于。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果 a
中的输入元素大于或等于 b
中的相应元素,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素大于或等于的比较所取代。
比较两个输入的最低 f32
大于或等于。
如果 a.extract(0)
大于或等于 b.extract(0)
,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
中的包装的 8 位整数是否大于。
比较 a
和 b
中的包装的 16 位整数是否大于。
比较 a
和 b
中的包装的 32 位整数是否大于。
比较 a
和 b
中的包装的 64 位整数是否大于,返回结果。
比较 a
和 b
中的对应元素是否大于。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果 a
中的输入元素大于 b
中的相应元素,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素大于的比较所代替。
比较两个输入的最低 f32
大于。
如果 a.extract(0)
大于 b.extract(0)
,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
使用 IMM8
中的控件比较 a
和 b
中隐含长度的包装字符串,如果 b
不包含空字符且结果掩码为零,则返回 1
,否则返回 0
。
使用 IMM8
中的控件将包装的字符串与 a
和 b
中的隐式长度进行比较,如果结果掩码不为零,则返回 1
,否则返回 0
。
使用 IMM8
中的控件比较 a
和 b
中隐含长度的包装字符串,并返回生成的索引。
与 _mm_cmpestri
相似,不同之处在于 _mm_cmpestri
需要明确指定 a
和 b
的长度。
使用 IMM8
中的控件比较 a
和 b
中隐含长度的包装的字符串,并返回生成的掩码。
使用 IMM8
中的控件比较 a
和 b
中隐含长度的包装字符串,并返回结果位掩码的位 0
。
使用 IMM8
中的控件比较 a
和 b
中隐含长度的包装字符串,如果 a
中的任何字符为空,则返回 1
,否则返回 0
。
使用 IMM8
中的控件比较 a
和 b
中隐含长度的包装字符串,如果 b
中的任何字符为空,则返回 1
。
比较 a
和 b
中的对应元素是否小于等于
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果 a
中的输入元素小于或等于 b
中的相应元素,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素小于或等于的比较所取代。
比较两个输入中的最低 f32
小于或等于。最低的
如果 a.extract(0)
小于或等于 b.extract(0)
,则结果的 32 位将为 0xffffffff
,否则为 0
。
结果的高 96 位是 a
的高 96 位。
比较 a
和 b
中小于 8 的包装的 8 位整数。
比较 a
和 b
中的包装的 16 位整数小于。
比较 a
和 b
中的包装的 32 位整数是否小于。
比较 a
和 b
中的对应元素小于。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果 a
中的输入元素小于 b
中的相应元素,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素的小于比较所代替。
比较两个输入的最低 f32
小于。
如果 a.extract(0)
小于 b.extract(0)
,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
中的对应元素是否相等。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果输入元素不相等,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素的不相等比较代替。
比较两个输入中最低的 f32
是否不相等。
如果 a.extract(0)
不等于 b.extract(0)
,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
中的相应元素是否不大于或等于。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果 a
中的输入元素不大于或等于 b
中的相应元素,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素的不大于等于相等的比较所取代。
比较两个输入中的最低 f32
,以得出不大于等于。
如果 a.extract(0)
不大于或等于 b.extract(0)
,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
中相应元素的不大于。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果 a
中的输入元素不大于 b
中的相应元素,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素的不大于比较所代替。
比较两个输入的最低 f32
,以得出不大于。
如果 a.extract(0)
不大于 b.extract(0)
,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
中的对应元素是否等于或大于等于。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果 a
中的输入元素不小于或等于 b
中的相应元素,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素相等或不小于的比较所取代。
比较两个输入的最低 f32
等于或小于等于。
如果 a.extract(0)
不小于或等于 b.extract(0)
,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
中的对应元素不少于。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
如果 a
中的输入元素不小于 b
中的相应元素,则输出 vector 中的结果将为 0xffffffff
,否则为 0
。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素相当的比较所取代。
比较两个输入中的最低 f32
不少于。
如果 a.extract(0)
不小于 b.extract(0)
,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
中的相应元素以查看 NaN
是否都不是。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
返回具有两个可能的位模式之一的四个浮点数。
如果 a
和 b
中的输入元素是有序的 (即,它们都不是 NaN),则输出 vector 中的元素将为 0xffffffff
,否则为 0。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素都与 NaN
进行比较的结果所代替。
如果两者都不等于 NaN
,则使用 0xFFFFFFFFFFFFFFFF
,否则使用 0
。
检查两个输入中最低的 f32
是否已订购。
如果 a.extract(0)
或 b.extract(0)
都不是 NaN,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
中的相应元素,以查看是否为 NaN
。
将 a
中的四个浮点数中的每个与 b
中的对应元素进行比较。
返回具有两个可能的位模式之一的四个浮点数。
如果 a
和 b
中的输入元素无序 (即,至少其中一个是 NaN),则输出 vector 中的元素将为 0xffffffff
,否则为 0。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素都与 NaN
进行比较的结果所代替。
如果其中一个等于 NaN
,则使用 0xFFFFFFFFFFFFFFFF
,否则使用 0
。
检查两个输入中最低的 f32
是否无序。
如果 a.extract(0)
或 b.extract(0)
中的任何一个为 NaN,则结果的最低 32 位将为 0xffffffff
,否则为 0
。
比较 a
和 b
的下部元素是否相等。
比较 a
和 b
的低位的两个 32 位浮点数。
如果相等则返回 1
,否则返回 0
。
比较 a
和 b
的下限元素是否大于等于。
比较 a
和 b
的低位的两个 32 位浮点数。
如果 a
中的值大于或等于 b
中的值,则返回 1
,否则返回 0
。
比较 a
和 b
的下限元素是否大于。
比较 a
和 b
的低位的两个 32 位浮点数。
如果 a
中的值大于 b
中的值,则返回 1
,否则返回 0
。
比较 a
和 b
的下限元素是否等于或小于等于。
比较 a
和 b
的低位的两个 32 位浮点数。
如果 a
中的值小于或等于 b
中的值,则返回 1
,否则返回 0
。
比较 a
和 b
的下限元素小于。
比较 a
和 b
的低位的两个 32 位浮点数。
如果 a
中的值小于 b
中的值,则返回 1
,否则返回 0
。
比较 a
和 b
的较低元素是否不相等。
比较 a
和 b
的低位的两个 32 位浮点数。
如果它们不相等,则返回 1
,否则返回 0
。
从 crc
中的初始值开始,返回无符号 8 位整数 v
的累积 CRC32 值。
从 crc
中的初始值开始,返回无符号 16 位整数 v
的累积 CRC32 值。
从 crc
中的初始值开始,返回无符号 32 位整数 v
的累积 CRC32 值。
从 crc
中的初始值开始,返回无符号 64 位整数 v
的累积 CRC32 值。
_mm_cvtsi32_ss
的别名。
_mm_cvtss_si32
的别名。
符号将 a
中的包装 8 位整数扩展为包装 16 位整数
符号将 a
中的包装 8 位整数扩展为包装 32 位整数
符号将 a
的低 8 字节中的包装的 8 位整数扩展为包装的
64 位整数
符号将 a
中的包装的 16 位整数扩展为包装的 32 位整数
符号将 a
中的包装 16 位整数扩展为包装 64 位整数
符号将 a
中的包装 32 位整数扩展为包装 64 位整数
将 a
中的低位两个包装的 32 位整数转换为包装的双精度 (64-bit) 浮点元素。
将 a
中的包装的 32 位整数转换为包装的单精度 (32-bit) 浮点元素。
零将 a
中的包装的无符号 8 位整数扩展为包装的 16 位整数
零将 a
中的包装无符号 8 位整数扩展为包装 32 位整数
零将 a
中的包装无符号 8 位整数扩展为包装 64 位整数
零将 a
中的包装的无符号 16 位整数扩展为包装的 32 位整数
零将 a
中的包装的无符号 16 位整数扩展为包装的 64 位整数
零将 a
中的包装无符号 32 位整数扩展为包装 64 位整数
将 a
中的包装的双精度 (64-bit) 浮点元素转换为包装的 32 位整数。
将 a
中的包装的双精度 (64-bit) 浮点元素转换为包装的单精度 (32-bit) 浮点元素
将 a
中的包装的单精度 (32-bit) 浮点元素转换为包装的 32 位整数。
将 a
中的包装的单精度 (32-bit) 浮点元素转换为包装的双精度 (64-bit) 浮点元素。
返回 a
的较低的双精度 (64-bit) 浮点元素。
将 a 中的较低双精度 (64-bit) 浮点元素转换为 32 位整数。
将 a 中的较低双精度 (64-bit) 浮点元素转换为 64 位整数。
_mm_cvtsd_si64
的别名
将 b
中的下部双精度 (64-bit) 浮点元素转换为单精度 (32-bit) 浮点元素,将结果存储在返回值的下部元素中,并将上部元素从 a
复制到返回值的上部元素中。
将 a
的下位元素转换为 f64
后,返回其下位元素为 b
的 a
。
返回 vector,其最低元素为 a
,所有更高元素为 0
。
将 32 位整数转换为 32 位浮点型。
结果 vector 是输入 vector a
,其最低 32 位浮点数已由转换后的整数替换。
将 a
的下位元素转换为 f64
后,返回其下位元素为 b
的 a
。
返回 vector,其最低元素为 a
,所有更高元素为 0
。
将 64 位整数转换为 32 位浮点型。
结果 vector 是输入 vector a
,其最低 32 位浮点数已由转换后的整数替换。
将 a
的下位元素转换为 f64
后,返回其下位元素为 b
的 a
。
返回 vector,其最低元素为 a
,所有更高元素为 0
。
返回 a
的最低元素。
返回 a
的最低元素。
返回 a
的最低元素。
从输入 vector 中提取最低的 32 位浮点数。
将 b
中的下部单精度 (32-bit) 浮点元素转换为双精度 (64-bit) 浮点元素,将结果存储在返回值的下部元素中,然后将 a
的上部元素复制到返回值的上部元素中。
将输入 vector 中的最低 32 位浮点型转换为 32 位整数。
将输入 vector 中的最低 32 位浮点型转换为 64 位整数。
_mm_cvttss_si32
的别名。
将 a
中的包装的双精度 (64-bit) 浮点元素转换为带截断的包装的 32 位整数。
将 a
中的包装的单精度 (32-bit) 浮点元素转换为带截断的包装的 32 位整数。
将 a
中较低的双精度 (64-bit) 浮点元素转换为带截断的 32 位整数。
将 a
中较低的双精度 (64-bit) 浮点元素转换为带截断的 64 位整数。
_mm_cvttsd_si64
的别名
将输入 vector 中的最低 32 位浮点型转换为带有截断的 32 位整数。
将输入 vector 中的最低 32 位浮点型转换为带截断的 64 位整数。
将 a
中的包装的双精度 (64-bit) 浮点元素除以 b
中的包装的元素。
除 __m128 vectors。
返回一个新的 vector,其中 a
的下限元素被 a
的下限元素除以 b
的下限元素所代替。
将 b
的第一个组件除以 a
,其他组件则从 a
复制。
从 a
中提取一个 8 位整数,用 IMM8
选择。
返回包含零扩展整数数据的 32 位整数。
See LLVM commit D20468.
返回 a
的 imm8
元素。
从 IMM8
选择的 a
中提取 32 位整数
从 IMM1
选择的 a
中提取 64 位整数
从用 IMM8
选择的 a
中提取单精度 (32-bit) 浮点元素。
返回的 i32
存储浮点数的位模式,并且可以通过转换将其转换回浮点数。
从 x
的低 64 位提取 y
指定的位范围。
将 a
中的包装的双精度 (64-bit) 浮点元素四舍五入为整数,并将结果存储为包装的双精度浮点元素。
将 a
中的包装的单精度 (32-bit) 浮点元素四舍五入为整数,并将结果存储为包装的单精度浮点元素。
将 b
中的下部双精度 (64-bit) 浮点元素四舍五入为整数值,将结果作为双精度浮点元素存储在内部结果的下部元素中,并将上部元素从 a
复制到上部内在结果的元素。
将 b
中的下部单精度 (32-bit) 浮点元素四舍五入为整数值,将结果作为单精度浮点元素存储在内部结果的下部元素中,然后将 a
的上部 3 个包装的元素复制到内在结果的上层要素。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,并将中间结果与 c
中的包装的元素相加。
将 a
和 b
中的包装单精度 (32-bit) 浮点元素相乘,并将中间结果添加到 c
中的包装元素中。
将 a
和 b
中的较低的双精度 (64-bit) 浮点元素相乘,并将中间结果与 c
中的较低的元素相加。
将 a
和 b
中较低的单精度 (32-bit) 浮点元素相乘,并将中间结果与 c
中的较低元素相加。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,或者在 c
to/from 中将包装的元素相加或减去中间结果。
将 a
和 b
中包装的单精度 (32-bit) 浮点元素相乘,或者将 c
中包装的元素加/减到中间结果中。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,并从中间结果中减去 c
中的包装的双精度元素。
将 a
和 b
中的包装的单精度 (32-bit) 浮点元素相乘,并从中间结果中减去 c
中的包装元素。
将 a
和 b
中的较低的双精度 (64-bit) 浮点元素相乘,并从中间结果中减去 c
中的较低的元素。
将结果存储在返回值的低位元素中,并将高位元素从 a
复制到结果的高位元素。
将 a
和 b
中的较低单精度 (32-bit) 浮点元素相乘,并从中间结果中减去 c
中的较低元素。
将结果存储在返回值的低位元素中,并将 3 个高位元素从 a
复制到结果的高位元素。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,也可以从中间结果中减去或加上 c
中的包装元素。
将 a
和 b
中的包装单精度 (32-bit) 浮点元素相乘,或者将 c
中的包装元素从中间结果中减去或加上。
将 a
和 b
中的包装双精度 (64-bit) 浮点元素相乘,然后将取反的中间结果添加到 c
中的包装元素中。
将 a
和 b
中的包装单精度 (32-bit) 浮点元素相乘,并将取反的中间结果添加到 c
中的包装元素中。
将 a
和 b
中较低的双精度 (64-bit) 浮点元素相乘,并将取反的中间结果添加到 c
中的较低元素。
将结果存储在返回值的低位元素中,并将高位元素从 a
复制到结果的高位元素。
将 a
和 b
中较低的单精度 (32-bit) 浮点元素相乘,并将取反的中间结果与 c
中的较低元素相加。
将结果存储在返回值的低位元素中,并将 3 个高位元素从 a
复制到结果的高位元素。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘,并从取反的中间结果中减去 c
中的包装的元素。
将 a
和 b
中的包装的单精度 (32-bit) 浮点元素相乘,并从取反的中间结果中减去 c
中的包装的元素。
将 a
和 b
中较低的双精度 (64-bit) 浮点元素相乘,然后从取反的中间结果中减去 c
中的包装的元素。
将结果存储在返回值的低位元素中,并将高位元素从 a
复制到结果的高位元素。
将 a
和 b
中较低的单精度 (32-bit) 浮点元素相乘,然后从取反的中间结果中减去 c
中的包装元素。
将结果存储在返回值的低位元素中,并将 3 个高位元素从 a
复制到结果的高位元素。
获取 MXCSR 控制和状态寄存器的无符号 32 位值。
水平相加 2 个包装的包中包含的相邻值对
[8 x i16]
的 128 位 vectors。
水平相加 2 个包装的包中包含的相邻值对
[4 x i32]
的 128 位 vectors。
在 a
和 b
中水平添加相邻对的双精度 (64-bit) 浮点元素,并包装结果。
在 a
和 b
中水平添加相邻对的单精度 (32-bit) 浮点元素对,并包装结果。
水平相加 2 个包装的包中包含的相邻值对
[8 x i16]
的 128 位 vectors。大于 7FFFh 的正和饱和到 7FFFh。
小于 8000h 的负数和将饱和到 8000h。
水平减去 [8 x i16]
的 2 个包装的 128 位 vectors 中包含的相邻值对。
水平减去 [4 x i32]
的 2 个包装的 128 位 vectors 中包含的相邻值对。
水平减去 a
和 b
中相邻的双精度 (64-bit) 浮点元素对,然后包装结果。
在 a
和 b
中水平添加相邻对的单精度 (32-bit) 浮点元素对,并包装结果。
水平减去 [8 x i16]
的 2 个包装的 128 位 vectors 中包含的相邻值对。
正差异大于
7FFFh 饱和到 7FFFh。小于 8000h 的负差会饱和到 8000h。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
返回 a
的副本,其中 i
的 8 位整数插入到 IMM8
指定的位置。
返回一个新的 vector,其中 a
的 imm8
元素替换为 i
。
返回 a
的副本,其中 i
的 32 位整数插入到 IMM8
指定的位置。
返回 a
的副本,其中 i
的 64 位整数插入到 IMM1
指定的位置。
在 a
中选择单个值存储在 b
中的某个位置,然后根据 IMM8
将元素归零。
将 y
的 [length:0]
位插入 index
处的 x
。
从未对齐的内存中加载 128 位整数数据。
当数据越过高速缓存行边界时,此内部函数的性能可能比 _mm_loadu_si128
更好。
对在此指令之前发布的所有内存加载指令执行序列化操作。
将内存中的双精度 (64-bit) 浮点元素加载到返回的 vector 的两个元素中。
通过将从 p
读取的值复制到所有元素中来构造 __m128
。
从内存中将 128 位 (由 2 个包装的双精度 (64-bit) 浮点元素组成) 加载到返回的 vector 中。
将内存中的双精度 (64-bit) 浮点元素加载到返回的 vector 的两个元素中。
将 aligned 内存中的四个 f32
值加载到 __m128
中。
如果指针未与 128 位边界 (16 个字节) 对齐,则将触发一般保护错误 (致命程序崩溃)。
_mm_load1_ps
的别名
将 64 位双精度值加载到 128 位整数 vector 并清除高位元素。
从内存中将 128 位整数数据加载到新的 vector 中。
使用从 p
读取的最低元素并将其他元素设置为零来构造 __m128
。
将内存中的双精度 (64-bit) 浮点元素加载到返回 vector 的两个元素中。
将双精度值加载到 [2 x double]
的 128 位 vector 的高阶位中。
低位从第一个操作数的低位复制而来。
将内存中的 64 位整数加载到返回的 vector 的第一个元素中。
将双精度值加载到 [2 x double]
的 128 位 vector 的低位中。
高阶位是从第一个操作数的高阶位复制而来的。
以相反的顺序将 2 个双精度 (64-bit) 浮点元素从内存加载到返回的 vector 中。
mem_addr
必须对齐在一个
可能会生成 16 字节边界或一般保护异常。
从对齐的内存中以相反的顺序将四个 f32
值加载到 __m128
中。
从内存中将 128 位 (由 2 个包装的双精度 (64-bit) 浮点元素组成) 加载到返回的 vector 中。
从内存中将四个 f32
值加载到 __m128
中。内存对齐没有任何限制。
对于对齐的内存
_mm_load_ps
可能更快。
将未对齐的 64 位整数数据从内存加载到新的 vector 中。
从内存中将 128 位整数数据加载到新的 vector 中。
在 a
和 b
中相乘,然后水平相加带符号的 16 位整数。
将第一个源操作数中包含的包装的 8 位无符号整数值与第二个源操作数中包含的包装的 8 位有符号整数值的对应对相乘,相加具有符号饱和度的连续乘积对,并将 16 位和写入到目标中的相应位。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
从 slice
返回由 offsets * scale
确定的偏移量的值,其中 scale
应该为 1、2、4 或 8。
如果设置了掩码,请从该位置从 src
加载值。
使用 mask
从 mem_addr
指向的内存中加载包装的 32 位整数 (当未在相应元素中设置最高位时,元素清零)。
使用 mask
从 mem_addr
指向的内存中加载包装的 64 位整数 (当未在相应元素中设置最高位时,元素清零)。
使用 mask
将包装的双精度 (64-bit) 浮点元素从内存加载到结果中 (当未设置相应元素的高位时,元素清零)。
使用 mask
将包装的单精度 (32-bit) 浮点元素从内存加载到结果中 (当未设置相应元素的高位时,元素清零)。
使用 mask
有条件地将 a
中的 8 位整数元素存储到内存中。
使用 mask
将 a
中的包装后的 32 位整数存储到 mem_addr
指向的内存中 (当在相应元素中未设置最高位时,不存储元素)。
使用 mask
将 a
中的包装 64 位整数存储到 mem_addr
指向的内存中 (当未在相应元素中设置最高位时,不存储元素)。
使用 mask
将包装的双精度 (64-bit) 浮点元素从 a
存储到内存中。
使用 mask
将包装的单精度 (32-bit) 浮点元素从 a
存储到内存中。
比较 a
和 b
中的包装的 8 位整数,并以 dst 返回包装的最大值。
比较 a
和 b
中的包装的 16 位整数,并返回包装的最大值。
比较 a
和 b
中的包装的 32 位整数,并返回包装的最大值。
比较 a
和 b
中包装的无符号 8 位整数,并返回包装的最大值。
比较 a
和 b
中包装的无符号 16 位整数,并返回包装的最大值。
比较 a
和 b
中的包装无符号 32 位整数,并返回包装最大值。
返回一个新的 vector,它具有 a
和 b
中相应元素的最大值。
比较 a
和 b
中包装的单精度 (32-bit) 浮点元素,并返回相应的最大值。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素最大值取代。
比较 a
和 b
的第一个单精度 (32-bit) 浮点元素,并在返回值的第一个元素中返回最大值,从 a
复制其他元素。
对在此指令之前发布的所有从内存加载和存储到内存指令执行序列化操作。
比较 a
和 b
中的包装的 8 位整数,并以 dst 返回包装的最小值。
比较 a
和 b
中包装的 16 位整数,并返回包装的最小值。
比较 a
和 b
中的包装的 32 位整数,并返回包装的最小值。
比较 a
和 b
中包装的无符号 8 位整数,并返回包装的最小值。
比较 a
和 b
中的包装的无符号 16 位整数,并返回包装的最小值。
比较 a
和 b
中的包装的无符号 32 位整数,并返回包装的最小值。
返回一个新的 vector,它具有 a
和 b
中相应元素的最小值。
比较 a
和 b
中包装的单精度 (32-bit) 浮点元素,并返回相应的最小值。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素的最小值替换。
比较 a
和 b
的第一个单精度 (32-bit) 浮点元素,并在返回值的第一个元素中返回最小值,从 a
复制其他元素。
在 128 位 __m128i vector 中查找最小的无符号 16 位元素,并返回一个 vector,其中在第一个位置包含其值,在第二个位置包含其索引; 所有其他元素都设置为零。
返回 vector,其中从 a
提取低位元素,其高位元素为零。
构造 [2 x double]
的 128 位浮点 vector。下层
将 64 位设置为第二个参数的低 64 位。上层
将 64 位设置为第一个参数的高 64 位。
返回 __m128
,其中第一个组件来自 b
,其余组件来自 a
。
从 a
复制低双精度 (64-bit) 浮点元素。
a
中重复的奇数索引单精度 (32-bit) 浮点元素。
合并 a
和 b
的上半部分。b
的上半部分占据结果的下半部分。
a
中重复的偶数索引单精度 (32-bit) 浮点元素。
合并 a
和 b
的下半部分。b
的下半部分占据结果的上半部分。
返回 a
中每个元素的最高有效位的掩码。
返回 a
中每个元素的最高有效位的掩码。
返回 a
中每个元素的最高有效位的掩码。
减去 8 位无符号整数值,然后将差的绝对值计算为目标中的相应位。
将 a
和 b
中每个包装的 64 位元素的低 32 位整数相乘,并返回带符号的 64 位结果。
将 a
和 b
中每个包装的 64 位元素中的低 32 位无符号整数相乘。
将 a
和 b
中的包装的双精度 (64-bit) 浮点元素相乘。
乘以 __m128 vectors。
返回一个新的 vector,其中 a
的低位元素被 a
和 b
的低位元素相乘。
将 a
和 b
的第一个组件相乘,然后从 a
复制其他组件。
将 a
和 b
中的包装的 16 位整数相乘。
将 a
和 b
中包装的无符号 16 位整数相乘。
将包装的 16 位带符号整数值相乘,通过右移将 32 位乘积截断为 18 个最高有效位,通过加 1 舍入舍入后的值,并将 [16:1]
位写入目标位置。
将 a
和 b
中的包装的 16 位整数相乘。
将 a
和 b
中包装的 32 位整数相乘,产生中间值
64 位整数,并返回最低的 32 位 (无论它们是什么),都将重新解释为有符号整数。
虽然 pmulld __m128i::splat(2), __m128i::splat(2)
返回明显的 __m128i::splat(4)
,但由于包装算术,pmulld __m128i::splat(i32::MAX), __m128i::splat(2)
将返回负数。
计算 a
和 b
中 128 位 (表示整数数据) 的按位或。
使用带符号的饱和度将包装的 16 位整数从 a
和 b
转换为包装的 8 位整数。
使用带符号的饱和度将包装的 32 位整数从 a
和 b
转换为包装的 16 位整数。
使用无符号饱和度将 a
和 b
的包装的 16 位整数转换为包装的 8 位整数。
使用无符号饱和度将包装的 32 位整数从 a
和 b
转换为包装的 16 位整数
使用 imm8
中的控件对 a
中的双精度 (64-bit) 浮点元素进行混洗。
使用 imm8
中的控件对 a
中的单精度 (32-bit) 浮点元素进行混洗。
使用 b
中的控件对 a
中的双精度 (64-bit) 浮点元素进行混洗。
使用 b
中的控件对 a
中的单精度 (32-bit) 浮点元素进行混洗。
使用给定的 STRATEGY
获取包含地址 p
的缓存行。
返回 a
中包装的单精度 (32-bit) 浮点元素的近似倒数。
返回 a
中第一个单精度 (32-bit) 浮点元素的近似倒数,其他元素不变。
使用 ROUNDING
参数将 a
中的包装的双精度 (64-bit) 浮点元素舍入,并将结果存储为包装的双精度浮点元素。
使用 ROUNDING
参数将 a
中的包装的单精度 (32-bit) 浮点元素舍入,并将结果存储为包装的单精度浮点元素。
使用 ROUNDING
参数将 b
中的低位双精度浮点元素 (64-bit) 舍入,将结果作为双精度浮点元素存储在内部结果的低位元素中,并将高位元素从 a
复制到高位元素的内在结果。
使用 ROUNDING
参数将 b
中的低位单精度 (32-bit) 浮点元素四舍五入,将结果作为单精度浮点元素存储在内部结果的低位元素中,并将高 3 个包装的元素从 a
复制到内在结果的上层元素。
返回 a
中包装的单精度 (32-bit) 浮点元素的近似倒数平方根。
返回 a
中第一个单精度 (32-bit) 浮点元素的近似倒数平方根,其他元素不变。
包装无符号 8 位整数的绝对差之和。
向所有元素广播 8 位整数 a
。
向所有元素广播 16 位整数 a
。
向所有元素广播 32 位整数 a
。
向所有元素广播 64 位整数 a
。
向返回值的所有元素广播双精度 (64-bit) 浮点值 a。
创建一个 __m128
,并将所有元素设置为 a
。
使用提供的值设置包装的 8 位整数。
使用提供的值设置包装的 16 位整数。
使用提供的值设置包装的 32 位整数。
使用提供的值 (从最高到最低) 设置包装的 64 位整数。
使用提供的值在返回值中设置包装的双精度 (64-bit) 浮点元素。
向返回值的所有元素广播双精度 (64-bit) 浮点值 a。
从最高到最低的四个浮点值构造 __m128
。
_mm_set1_ps
的别名
将双精度 (64-bit) 浮点元素 a
复制到包装的 64 位返回值的低位元素。
创建一个 __m128
,将最低元素设置为 a
,将剩余部分设置为零。
用 32 位无符号整数值设置 MXCSR 寄存器。
以相反的顺序设置提供的值的包装 8 位整数。
以相反的顺序设置提供的值的包装 16 位整数。
以相反的顺序设置提供的值的包装 32 位整数。
在返回值中设置包装的双精度 (64-bit) 浮点元素,并以相反的顺序提供提供的值。
从四个最低到最高的浮点值构造 __m128
。
返回全零的包装的双精度 (64-bit) 浮点元素。
创建一个 __m128
,并将所有元素初始化为零。
返回所有元素均设置为零的 vector。
对在此指令之前发出的所有存储到内存指令执行序列化操作。
使用来自 a
和 b
的先前消息值,对接下来的四个 SHA1 消息值 (无符号的 32 位整数) 执行中间计算,并返回结果。
使用 a
中的中间结果和 b
中的先前消息值,对接下来的四个 SHA1 消息值 (无符号的 32 位整数) 执行最终计算,并返回结果。
经过四轮运算后,从当前 SHA1 状态变量 a
计算 SHA1 状态变量 E,将该值添加到 b
中的计划值 (无符号 32 位整数),然后返回结果。
使用来自 a
的初始 SHA1 状态 (A,B,C,D) 以及接下来的 4 个回合消息值 (一些无符号的 32 位整数) 和来自 b
的状态变量 E 的一些预先计算的总和,执行四轮 SHA1 操作,并返回更新的 SHA1 状态 (A,B,C,D)。
FUNC
包含逻辑函数和圆常量。
使用来自 a
和 b
的先前消息值,对接下来的四个 SHA256 消息值 (无符号的 32 位整数) 执行中间计算,并返回结果。
使用以前的 a
和 b
的消息值,对接下来的四个 SHA256 消息值 (无符号的 32 位整数) 执行最终计算,并返回结果。
使用来自 a
的初始 SHA256 状态 (C,D,G,H),来自 b
的初始 SHA256 状态 (A,B,E,F) 以及接下来的 2 个回合消息值 (无符号的 32 位整数) 和来自 k
的相应回合常量的预先计算的总和,执行 2 轮 SHA256 操作。,并将更新的 SHA256 状态 (A,B,E,F) 存储在 dst 中。
根据 b
的内容,打乱 a
中的字节。
使用 IMM8
中的控件在 a
中打乱 32 位整数。
从两个创建一个 [2 x double]
的 128 位浮点 vector
[2 x double]
的 128 位 vector 参数,使用立即值参数作为说明符。
使用 MASK
在 a
和 b
中打乱包装的单精度 (32-bit) 浮点元素。
使用 IMM8
中的控件在 a
的高 64 位中打乱 16 位整数。
使用 IMM8
中的控件在 a
的低 64 位中打乱 16 位整数。
当 b
中相应的带符号 8 位整数为负时,对 a
中的 8 位包装整数取反,并返回结果。
当 b
中相应的带符号 16 位整数为负时,将 a
中的 16 位整数包装为无效,并返回结果。
当 b
中相应的带符号 32 位整数为负时,对 a
中的包装 32 位整数求反,并返回结果。
将 count
左移的 a
中的包装的 16 位整数移位,同时将零移位。
将 count
左移的 a
中的包装的 32 位整数移位,同时将零移位。
将 count
左移的 a
中的包装的 64 位整数移位,同时将零移位。
将 a
中包装的 16 位整数左移 IMM8
,同时将其移入零。
将 a
中包装的 32 位整数左移 IMM8
,同时将其移入零。
将 a
中包装的 64 位整数左移 IMM8
,同时将其移入零。
将 a
左移 IMM8
个字节,同时移入零。
将 a
中的包装的 32 位整数左移 count
中相应元素所指定的数量,同时将零移位,并返回结果。
将 a
中的包装的 64 位整数左移 count
中相应元素所指定的数量,同时将零移位,并返回结果。
返回一个新的 vector,它具有 a
中每个值的平方根。
返回 a
中包装的单精度 (32-bit) 浮点元素的平方根。
返回一个新的 vector,其中 a
的低端元素替换为下部元素 b
的平方根。
返回 a
中第一个单精度 (32-bit) 浮点元素的平方根,其他元素保持不变。
将符号位移入时,将 a
中的包装的 16 位整数右移 count
。
将符号位移位时,将 a
中的包装的 32 位整数右移 count
。
将 a
中包装的 16 位整数右移 IMM8
,同时移入符号位。
将 a
中包装的 32 位整数右移 IMM8
,同时移入符号位。
将 a
中的 32 位整数向右移动,移动量由 count
中的相应元素指定,同时移入符号位。
将 a
中的包装的 16 位整数右移 count
,同时将零移位。
将 a
中的包装的 32 位整数右移 count
,同时将零移位。
将 a
中的包装的 64 位整数右移 count
,同时将零移位。
将 a
中包装的 16 位整数右移 IMM8
,同时将其移入零。
将 a
中包装的 32 位整数右移 IMM8
,同时将其移入零。
将 a
中包装的 64 位整数右移 IMM8
,同时将其移入零。
将 a
右移 IMM8
个字节,同时移入零。
将 a
中的包装的 32 位整数右移 count
中相应元素所指定的数量,同时将零移位,
将 a
中的包装的 64 位整数右移 count
中相应元素所指定的数量,同时将零移位,
将来自 a
的较低的双精度 (64-bit) 浮点元素存储到内存中的 2 个连续元素中。
mem_addr
必须对齐在一个
可能会生成 16 字节边界或一般保护异常。
将 a
的最低 32 位浮点数重复存储四次到 aligned 存储器中。
将来自 a
的 128 位 (由 2 个包装的双精度 (64-bit) 浮点元素组成) 存储到内存中。
mem_addr
必须在 16 字节边界上对齐,否则可能会生成通用保护异常。
将来自 a
的较低的双精度 (64-bit) 浮点元素存储到内存中的 2 个连续元素中。
mem_addr
必须对齐在一个
可能会生成 16 字节边界或一般保护异常。
将四个 32 位浮点数存储到 aligned 存储器中。
_mm_store1_ps
的别名
将 [2 x double]
的 128 位 vector 的低 64 位存储到内存位置。
将来自 a
的 128 位整数数据存储到内存中。
将 a
的最低 32 位浮点数存储到内存中。
将 [2 x double]
的 128 位 vector 的高 64 位存储到存储位置。
将低 64 位整数 a
存储到内存位置。
将 [2 x double]
的 128 位 vector 的低 64 位存储到内存位置。
将 a
中的 2 个双精度 (64-bit) 浮点元素以相反的顺序存储到内存中。
mem_addr
必须在 16 字节边界上对齐,否则可能会生成通用保护异常。
以相反的顺序将四个 32 位浮点数存储到 aligned 存储器中。
将来自 a
的 128 位 (由 2 个包装的双精度 (64-bit) 浮点元素组成) 存储到内存中。
将四个 32 位浮点数存储到内存中。内存对齐没有任何限制。
对于对齐的内存,_mm_store_ps
可能更快。
将来自 a
的 128 位整数数据存储到内存中。
将 [2 x double]
的 128 位浮点 vector 存储到 128 位对齐的内存位置。
为了最大程度地减少缓存,数据被标记为非时间性的 (不太可能很快再次使用)。
使用非临时内存提示将 a
存储到 mem_addr
的内存中。
a.0
的非临时存储到 p
中。
将 32 位整数值存储在指定的内存位置。 为了最大程度地减少缓存,数据被标记为非时间性的 (不太可能很快再次使用)。
将 64 位整数值存储在指定的内存位置。 为了最大程度地减少缓存,数据被标记为非时间性的 (不太可能很快再次使用)。
将 128 位整数 vector 存储到 128 位对齐的内存位置。 为了最大程度地减少缓存,数据被标记为非时间性的 (不太可能很快再次使用)。
a.0
的非临时存储到 p
中。
从 a
中的包装的 8 位整数中减去 b
中的包装的 8 位整数。
从 a
中的包装的 16 位整数减去 b
中的包装的 16 位整数。
从 a
中的包装的 32 位整数中减去 b
中的包装的 32 位整数。
从 a
中的包装的 64 位整数中减去 b
中的包装的 64 位整数。
从 a
中减去 b
中的包装的双精度 (64-bit) 浮点元素。
减去 __m128 vectors。
返回一个新的 vector,其中 a
的低端元素被 a
的低端元素减去 b
的低端元素所代替。
从 a
减去 b
的第一个组件,从 a
复制其他组件。
使用饱和度从 a
的包装的 8 位整数减去 b
的包装的 8 位整数。
使用饱和度从 a
的包装的 16 位整数减去 b
的包装的 16 位整数。
使用饱和度从 a
中的包装无符号 8 位整数减去 b
中的包装无符号 8 位整数。
使用饱和度从 a
中的包装的无符号 16 位整数减去 b
中的包装的无符号 16 位整数。
测试 a
128 位整数 vector 中的指定位是否全部为 1。
测试 128 位整数 vector 中的指定位是否全部为零。
测试 128 位整数 vector 中的指定位是否既不是全零也不是全 1。
计算 a
和 b
中 128 位 (表示双精度 (64-bit) 浮点元素) 的按位与,产生中间 128 位值,如果中间值中每个 64 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位 NOT,然后与 b
进行与运算,得到一个中间值,如果中间值中每个 64 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
返回 CF
值。
计算 a
和 b
中 128 位 (代表单精度 (32-bit) 浮点元素) 的 128 位按位与,生成中间 128 位值,如果中间值中每个 32 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位非,然后与 b
进行与运算,产生一个中间值,如果中间值中每个 32 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
返回 CF
值。
测试 128 位整数 vector 中的指定位是否全部为 1。
计算 a
和 b
中 128 位 (表示双精度 (64-bit) 浮点元素) 的按位与,产生中间 128 位值,如果中间值中每个 64 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位 NOT,然后与 b
进行与运算,得到一个中间值,如果中间值中每个 64 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
如果 ZF
和 CF
的值均为零,则返回 1,否则返回 0。
计算 a
和 b
中 128 位 (代表单精度 (32-bit) 浮点元素) 的 128 位按位与,生成中间 128 位值,如果中间值中每个 32 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位非,然后与 b
进行与运算,产生一个中间值,如果中间值中每个 32 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
如果 ZF
和 CF
的值均为零,则返回 1,否则返回 0。
测试 128 位整数 vector 中的指定位是否既不是全零也不是全 1。
计算 a
和 b
中 128 位 (表示双精度 (64-bit) 浮点元素) 的按位与,产生中间 128 位值,如果中间值中每个 64 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位 NOT,然后与 b
进行与运算,得到一个中间值,如果中间值中每个 64 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
返回 ZF
值。
计算 a
和 b
中 128 位 (代表单精度 (32-bit) 浮点元素) 的 128 位按位与,生成中间 128 位值,如果中间值中每个 32 位元素的符号位都将 ZF
设置为 1 为零,否则将 ZF
设置为 0。
计算 a
的按位非,然后与 b
进行与运算,产生一个中间值,如果中间值中每个 32 位元素的符号位为零,则将 CF
设置为 1,否则将 CF
设置为 0。
返回 ZF
值。
测试 128 位整数 vector 中的指定位是否全部为零。
计算尾随的最低有效零位的数量。
计算尾随的最低有效零位的数量。
比较 a
和 b
的下部元素是否相等。
比较 a
和 b
的低位的两个 32 位浮点数。
如果相等则返回 1
,否则返回 0
。
如果任一参数是安静的 NaN,则该指令不会发出异常信号。
比较 a
和 b
的下限元素是否大于等于。
比较 a
和 b
的低位的两个 32 位浮点数。
如果 a
中的值大于或等于 b
中的值,则返回 1
,否则返回 0
。
如果任一参数是安静的 NaN,则该指令不会发出异常信号。
比较 a
和 b
的下限元素是否大于。
比较 a
和 b
的低位的两个 32 位浮点数。
如果 a
中的值大于 b
中的值,则返回 1
,否则返回 0
。
如果任一参数是安静的 NaN,则该指令不会发出异常信号。
比较 a
和 b
的下限元素是否等于或小于等于。
比较 a
和 b
的低位的两个 32 位浮点数。
如果 a
中的值小于或等于 b
中的值,则返回 1
,否则返回 0
。
如果任一参数是安静的 NaN,则该指令不会发出异常信号。
比较 a
和 b
的下限元素小于。
比较 a
和 b
的低位的两个 32 位浮点数。
如果 a
中的值小于 b
中的值,则返回 1
,否则返回 0
。
如果任一参数是安静的 NaN,则该指令不会发出异常信号。
比较 a
和 b
的较低元素是否不相等。
比较 a
和 b
的低位的两个 32 位浮点数。
如果它们不相等,则返回 1
,否则返回 0
。
如果任一参数是安静的 NaN,则该指令不会发出异常信号。
返回带有未定义元素的 __m128d 类型的 vector。
返回类型为 __m128 的 vector,其中包含未定义的元素。
返回带有未定义元素的 __m128i 类型的 vector。
从 a
和 b
的高半部分解包并交织 8 位整数。
从 a
和 b
的高半部分解包并交织 16 位整数。
从 a
和 b
的高半部分解包并交织 32 位整数。
从 a
和 b
的高半部分解包并交织 64 位整数。
所得的 __m128d
元素由两个 __m128d
交错输入元素的低阶值组成,即:
从 a
和 b
的上半部分解包并交织单精度 (32-bit) 浮点元素。
从 a
和 b
的下半部分解包并交织 8 位整数。
从 a
和 b
的下半部分解包并交织 16 位整数。
从 a
和 b
的下半部分解包并交织 32 位整数。
从 a
和 b
的下半部分解包并交织 64 位整数。
所得的 __m128d
元素由两个 __m128d
交错输入元素的高阶值组成,即:
从 a
和 b
的下半部分解包并交织单精度 (32-bit) 浮点元素。
计算 a
和 b
的按位或。
包装的单精度 (32-bit) 浮点元素的按位异或。
计算 a
和 b
中 128 位 (表示整数数据) 的按位 XOR。
读取硬件生成的 16 位随机值,并将结果存储在 val 中。 如果生成随机值,则返回 1,否则返回 0。
读取硬件生成的 32 位随机值,并将结果存储在 val 中。 如果生成随机值,则返回 1,否则返回 0。
读取硬件生成的 64 位随机值,并将结果存储在 val 中。 如果生成随机值,则返回 1,否则返回 0。
读取符合 NIST SP800-90B 和 SP800-90C 的 16 位随机值,并存储在 val 中。 如果生成随机值,则返回 1,否则返回 0。
读取符合 NIST SP800-90B 和 SP800-90C 的 32 位随机值,并存储在 val 中。 如果生成随机值,则返回 1,否则返回 0。
读取符合 NIST SP800-90B 和 SP800-90C 的 64 位随机值,并存储在 val 中。 如果生成随机值,则返回 1,否则返回 0。
将无符号的 32 位整数 a
和 b
与无符号的 8 位进位 c_in
(进位或溢出标志) 相加,并将无符号的 32 位结果存储在 out
中,并返回进位 (进位或溢出标志)。
将无符号的 64 位整数 a
和 b
与无符号的 8 位随身输入 c_in
相加。
(进位或溢出标志),并将无符号的 64 位结果存储在 out
中,并返回进位 (进位或溢出标志)。
清除 x
的最低有效零以下的所有位,并设置所有其他位。
清除 x
的最低有效零以下的所有位,并设置所有其他位。
计算尾随的最低有效零位的数量。
计算尾随的最低有效零位的数量。
将所有位设置为低于 x
的最低有效位,并清除所有其他位。
将所有位设置为低于 x
的最低有效位,并清除所有其他位。
使用 mem_addr
内存中存储的状态信息执行已启用处理器状态的全部或部分还原。
将已启用的处理器状态全部或部分保存到 mem_addr
的内存中。
Type Definitions
_MM_CMPINT_ENUM
类型用于在 AVX-512 内部函数中指定比较操作。
MM_MANTISSA_NORM_ENUM
类型用于指定 AVX-512 内部函数中的尾数归一化操作。
MM_MANTISSA_SIGN_ENUM
类型用于指定 AVX-512 内部函数中的尾数签名操作。
MM_PERM_ENUM
类型用于指定在 AVX-512 内部函数中的重排操作。
AVX-512 内部函数中使用的 __mmask8
类型,一个 8 位整数
AVX-512 内部函数中使用的 __mmask16
类型,一个 16 位整数
AVX-512 内部函数中使用的 __mmask32
类型,一个 32 位整数
AVX-512 内部函数中使用的 __mmask64
类型,一个 64 位整数