x86-64 - 所有 64 位英特尔架构都支持 SSSE3/SSE4.1/SSE4.2 指令吗?

标签 x86-64 intel cpu-architecture simd

我确实在网上搜索过 intel Software manual .但我无法确认所有英特尔 64 架构是否支持最高 SSSE3 或最高 SSE4.1 或最高 SSE4.2 或 AVX 等。这样我就可以在我的程序中使用最少的 SIMD 支持指令。请帮忙。

最佳答案

我一直试图弄清楚这一点,因为未能使用 SSE 编译第三方软件。我发现这可能会有所帮助:

cat /proc/cpuinfo
然后注意标志部分
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
我可以看到:
sse4_1 sse4_2
如果您尝试编写一些代码来自动检测到这一点,则以下可能有用:
cat /proc/cpuinfo | grep flags | uniq | sed 's/.\+: //' | tr ' ' '\n' | grep -o "sse.*"
sse
sse2
sse3
sse4_1
sse4_2

关于x86-64 - 所有 64 位英特尔架构都支持 SSSE3/SSE4.1/SSE4.2 指令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28185844/

相关文章:

assembly - 程序计数器保存的是当前地址还是下一条指令的地址?

assembly - 如何在汇编中将 RAX 中的值写入 STDOUT?

c - 我的 Assembly 实现中的段错误

android-studio - 如何在 HAXM 安装中启用 VMX?

x86 - 通过降低关联性来增强 Skylake L2 缓存?

assembly - 程序集如何访问 CPU 之外的东西,例如 HDD 或 RAM?

assembly - WC vs WB内存? x86_64上的其他类型的内存?

operating-system - 直接连接到 CPU 的 PCIe 插槽的中断路由

c - 模运算似乎不适用于所有值的 64 位值

c++ - 为什么我的 C++ 应用程序在 Core i7 上比我的 C 应用程序(使用相同的库)快