AVX指令集

高级向量扩展指令集（，简称AVX）是x86架构微处理器中的指令集，由英特尔在2008年3月提出，并在2011年第一季度发布的Sandy Bridge系列处理器中首次支持。AMD在随后的2011年第三季度发布的Bulldozer系列处理器中开始支持AVX。AVX指令集提供了新的特性、指令和编码方案。

AVX是X86指令集的SSE延伸架構，如IA16至IA32般的把暫存器XMM 128bit提升至YMM 256bit，以增加一倍的運算效率。此架構支持了三運算指令（3-Operand Instructions），減少在編碼上需要先複製才能運算的動作。在微碼部分使用了LES LDS這兩少用的指令作為延伸指令Prefix。

AVX2指令集将大多数整数命令操作扩展到256位，并引入了熔合乘法累积（FMA）运算。则使用新的编码将AVX指令进一步扩展到512位。Intel Xeon Scalable處理器支援AVX-512。

 支援 

 CPU对AVX指令集的支持情况 

 英特尔
 Sandy Bridge（2011年Q1）及更新的的处理器（除赛扬和奔腾）均支持
 Tiger Lake（2020年Q3）及更新的的奔腾和赛扬处理器均支持
 AMD:
 推土机微架构（2011年Q4）及更新的处理器均支持
 威盛电子
 Nano QuadCore
 Eden X4
 兆芯:
 基于五道口架构的处理器（KX-5000及KH-20000）

 编译器和汇编器对AVX指令集的支持情况 

 编译器支持-选项
 Free Pascal编译器从2.7.1版本开始为AVX和AVX2提供-CfAVX和-CfAVX2选项
 Delphi从RAD studio v11.0 Alexandria版本开始支持AVX2和AVX512
 GNU汇编器从GNU Binutils 2.19版本开始支持AVX
 4.6版本的GCC和11.1版本的Intel编译器套件开始支持AVX
 Open64编译器从4.5.1版本开始使用-标志支持AVX
 PathScale编译器支持-选项
 编译器通过-选项支持AVX
 Visual Studio 2010/2012 编译器通过内联函数（intrinsic）和 /arch:AVX选项支持AVX
 NASM从2.03版本开始支持 AVX，并在 2.04 版本中，进行了许多与 AVX 相关的错误修复和更新

 操作系统对AVX指令集的支持情况 
AVX通过256 位宽的YMM寄存器添加了新的寄存器状态，因此需要操作系统显式支持，以在上下文切换时正确保存和恢复AVX的扩展寄存器。以下操作系统版本支持 AVX：

 DragonFly BSD：在2013年初添加支持
 FreeBSD：在2012年1月21日提交的补丁中添加支持，该补丁包含在9.1稳定版中
 Linux：内核版本2.6.30（发布于2009年6月9日）开始支持
 macOS：从10.6.8版本（Snow Leopard，发布于2011年6月23日）开始支持。macOS Ventura 不支持没有AVX2指令集的 x86 处理器
 OpenBSD：在2015年3月21日添加支持
 Solaris：在 Solaris 10 Update 10 和 Solaris 11 中开始支持。
 Windows：在 Windows 7 SP1（KB976932）、Windows Server 2008 R2 SP1、Windows 8、Windows 10 中提供支持
 Windows Server 2008 R2 SP1 结合 Hyper-V 需要热修复（KB2568088）以支持 AMD AVX（Opteron 6200 和 4200 系列）处理器
 Windows XP 和 Windows Server 2003 在内核驱动和用户应用程序中都不支持 AVX

 參見 
組合語言
MMX
SSE


AES指令集

参考资料

 外部链接 
 Intel Intrinsics Guide

Category:AMD技术
Category:SIMD计算
Category:X86指令