如何计算avx和avx2指令集的数量
How to count number of avx and avx2 instruction set
Intel SSE4.2
的个数刚好是313个汇编指令集(英特尔手册编号之和)。我想要 AVX
和 AVX2
相同的号码,但找不到任何可信的参考。我发现一个 reference 告诉 AVX
中有 292 条指令(第 1 页,Table 1),它是错误的,SSE4.2 包含他们没有计算在内的 SSSE3。那么如何计算AVX/AVX2
条指令呢?
(我想写一个程序,然后将 Intel intrinsics guide 复制到一个文本文件并处理它。但我需要一个更简单的方法
AVX
中有86条指令,AVX2
中有137条指令,AVX
和AVX2
中引入的新指令共计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.
Intel SSE4.2
的个数刚好是313个汇编指令集(英特尔手册编号之和)。我想要 AVX
和 AVX2
相同的号码,但找不到任何可信的参考。我发现一个 reference 告诉 AVX
中有 292 条指令(第 1 页,Table 1),它是错误的,SSE4.2 包含他们没有计算在内的 SSSE3。那么如何计算AVX/AVX2
条指令呢?
(我想写一个程序,然后将 Intel intrinsics guide 复制到一个文本文件并处理它。但我需要一个更简单的方法
AVX
中有86条指令,AVX2
中有137条指令,AVX
和AVX2
中引入的新指令共计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.