36、X86 指令集编程:从 AVX 到 64 位架构

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值