X86 指令集编程:从 AVX 到 64 位架构
1. X86 - AVX 新指令介绍
近期基于 Haswell 等微架构的处理器引入了一些新的通用寄存器指令。这些指令可用于执行无标志乘法和移位操作,相比基于标志的同类操作速度更快,同时还支持增强的位操作。
1.1 无标志乘法和位移操作
以示例程序 AvxGprMulxShiftx 为例,展示了无符号整数的无标志乘法和移位指令的使用。
- C++ 代码(AvxGprMulxShiftx.cpp)
#include "stdafx.h"
#include "MiscDefs.h"
extern "C" Uint64 AvxGprMulx_(Uint32 a, Uint32 b, Uint8 flags[2]);
extern "C" void AvxGprShiftx_(Int32 x, Uint32 count, Int32 results[3]);
void AvxGprMulx(void)
{
const int n = 3;
Uint32 a[n] = {64, 3200, 100000000};
Uint32 b[n] = {1001, 12, 250000000};
printf("Results for AvxGprMulx()\n");
for (int i = 0; i < n; i++)
{
Uint8 flags[2];
Uint6
超级会员免费看
订阅专栏 解锁全文
121

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



