如何计算avx和avx2指令集的数量

How to count number of avx and avx2 instruction set

Intel SSE4.2的个数刚好是313个汇编指令集(英特尔手册编号之和)。我想要 AVXAVX2 相同的号码,但找不到任何可信的参考。我发现一个 reference 告诉 AVX 中有 292 条指令(第 1 页,Table 1),它是错误的,SSE4.2 包含他们没有计算在内的 SSSE3。那么如何计算AVX/AVX2条指令呢? (我想写一个程序,然后将 Intel intrinsics guide 复制到一个文本文件并处理它。但我需要一个更简单的方法

AVX中有86条指令,AVX2中有137条指令,AVXAVX2中引入的新指令共计223条。 我已经将 Intel intrinsics guide 复制为 word 格式,删除了 intrinsics 函数,对汇编指令进行了排序并删除了重复的指令。 这假设所有指令都有相应的内在函数

AVX 插入: vaddpd, vaddps, vaddsubpd, vaddsubps, 范德, 范德普斯, 范德普, 范普斯, vblendpd, vblendps, vblendvpd, vblendvps, vbroadcastf128, vbroadcastsd, vbroadcastss, vcmpd, vcmpps, vcmpsd, vcmpss, vcvtdq2pd, vcvtdq2ps, vcvtpd2dq, vcvtpd2ps, vcvtps2dq, vcvtps2pd, vcvttpd2dq, vcvttps2dq, vdivpd, vdivps, vdpps, vextractf128, vhaddpd, vhaddps, vhsubpd, vhsubps, vinsertf128, vlddqu, vmaskmovpd, vmaskmovps, vmaxpd, vmaxps, 虚拟机, 虚拟机, vmovapd, vmovaps, vmovddup, vmovdqa, vmovdqu, vmovmskpd, vmovmskps, vmovntdq, vmovntpd, vmovntps, vmovshdup, vmovsldup, vmovupd, vmovups, 虚拟机, 乘积, 沃尔普, 沃尔普斯, vperm2f128, vpermilpd, vpermilps, 测试, vpxor, 虚拟现实, vroundpd, vroundps, vrsqrtps, vshufpd, vshufps, vsqrtpd, vsqrtps, vsubpd, vsubps, vtestpd, 测试ps, vunpckhpd, vunpckhps, vunpcklpd, 文普克普斯, vxorpd, vxorps, vzeroall, vzeroupper,

AVX2 插入: 移动, vbroadcasti128, vextracti128, vgatherpd, vgatherdps, vgatherqpd, vgatherqps, 文瑟蒂128, vmovntdqa, vmpsadbw, vpabsb, vpabsd, vpabsw, vpackssdw, vpacksswb, vpackusdw, vpackuswb, 虚拟机数据库, vpadd, vpaddq, vpaddsb, vpaddsw, vpaddusb, vpaddusw, vpaddw, vpalignr, vpand, vpandn, vpavgb, vpavgw, vpblendd, vpblendvb, vpblendw, vpbroadcastb, vpbroadcastd, vpbroadcastq, vp广播, vpcmpeqb, vpcmpeqd, vpcmpeqq, vpcmpeqw, vpcmpgtb, vpcmpgtd, vpcmpgtq, vpcmpgtw, vperm2i128, vpermd, vpermpd, vpermps, vpermq, vpgatherdd, vpgatherdq, vpgatherqd, vp收集qq, vphaddd, vphaddsw, vphaddw, vphsubd, vphsubsw, vphsubw, vpmaddubsw, vpmaddwd, vpmaskmovd, vpmaskmovq, vpmaxsb, vpmaxsd, vpmaxsw, vpmaxub, vpmaxud, vpmaxuw, vpminsb, vpminsd, vpminsw, vpminub, vpminud, vpminuw, vpmovmskb, vpmovsxbd, vpmovsxbq, vpmovsxbw, vpmovsxdq, vpmovsxwd, vpmovsxwq, vpmovzxbd, vpmovzxbq, vpmovzxbw, vpmovzxdq, vpmovzxwd, vpmovzxwq, vpmuldq, vpmulhrsw, vpmulhuw, vpmulhw, 虚拟机, vpmullw, vpmuludq, vpor, vpsadbw, vpshufb, vpshufd, vpshufhw, vpshuflw, vpsignb, vpsignd, vpsignw, 虚拟机, vpsldq, vpsllq, vpslvd, vpslvq, vpslw, 虚拟机, vpsravd, vps原始文件, vpsrld, vpsrldq, vpsrlq, vpsrlvd, vpsrlvq, vpsrlw, vpsubb, vpsubd, vpsubq, vpsubsb, vpsubsw, vpsubusb, vpsubbus, vpsubw, vpunpckhbw, vpunpckhdq, vpunpckhqdq, vpunpckhwd, vpunpcklbw, vpunpckldq, vpunpcklqdq, vpunpcklwd, vpxor.

This resource也提供这个问题的答案:

Intel AVX is a comprehensive ISA enhancement that adds n ew functionality in addition to the compact new encoding format.

• A large number (200+) of legacy Intel SSEx instruction s are upgraded by the enhanced instruction encoding to take advantage of feat ures like a distinct source operand and flexible memory alignment.

• A moderate number (< 100) of legacy 128-bit Intel SS Ex instruction have been promoted to process 256-bit vector data.

• A number of new data processing and arithmetic operatio ns (< 100), not present in legacy Intel SSEx, are added to Intel processors to be launched in 2010 and beyond.