X86 - AVX编程:新指令详解
1. X86 - AVX数据操作指令概述
X86 - AVX包含了一系列增强的数据操作指令,可用于打包浮点或打包整数操作数。许多这些指令是现有x86 - SSE指令或指令序列的更高效替代方案。增强的数据操作包括广播、混合、置换和收集操作。
2. 数据广播操作
数据广播指令将单个数据值复制到目标操作数的每个元素,常用于创建打包常量值。以下是相关示例代码及说明。
2.1 示例程序AvxBroadcast
该程序展示了x86 - AVX的整数和浮点广播指令的使用。其C++文件 AvxBroadcast.cpp 和汇编语言文件 AvxBroadcast_.asm 分别实现了测试用例和实际的广播操作。
- AvxBroadcast.cpp代码
#include "stdafx.h"
#include "XmmVal.h"
#include "YmmVal.h"
#include <memory.h>
#define _USE_MATH_DEFINES
#include <math.h>
// The order of values in the following enum must match the table
// that's defined in AvxBroadcast_.asm.
enum Brop : unsigned int
{
Byte,
超级会员免费看
订阅专栏 解锁全文
46

被折叠的 条评论
为什么被折叠?



