![处理器多媒体扩展。它们到底有多有用?](https://linux22.com/image/1285984/%E5%A4%84%E7%90%86%E5%99%A8%E5%A4%9A%E5%AA%92%E4%BD%93%E6%89%A9%E5%B1%95%E3%80%82%E5%AE%83%E4%BB%AC%E5%88%B0%E5%BA%95%E6%9C%89%E5%A4%9A%E6%9C%89%E7%94%A8%EF%BC%9F.png)
自从最初的 Pentium 问世以来,AMD 和 Intel 都一直在发布针对其架构的竞争性多媒体扩展,mmx、3DNOW!、SSE、SSE2、SSE3、SSSE3、SSE4、AVX、XOP……太多了,我几乎记不清了。我记得在最初的 Pentium 时代,有些游戏和程序需要 Pentium MMX 才能运行,但自那以后我再也没有遇到过类似的东西。
哪个 CPU 支持哪个扩展的矩阵是广泛而复杂的(尤其如此,因为某些扩展(如 sse4)在某些架构中只实现了一半……)。这还不包括这两家公司多年来添加(然后随后删除)的一些其他次要指令。
这些扩展到底有多广泛使用?对于旨在广泛分发的编译软件来说,由于支持非常不统一,超越标准操作集(也许还有 mmx)似乎是不切实际的。我知道您可以在编译软件时指定确切的 CPU,但像 gcc 这样的优化编译器是否广泛使用这些扩展?