Macos gcc没有';我不想在mac上使用AVX

Macos gcc没有';我不想在mac上使用AVX,macos,gcc,osx-mountain-lion,avx,Macos,Gcc,Osx Mountain Lion,Avx,因此,我有了这款全新的mac book pro,它带有intel core I7处理器和sysctl machdep.cpu machdep.cpu.features:FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2

因此,我有了这款全新的mac book pro,它带有intel core I7处理器和sysctl machdep.cpu

machdep.cpu.features:FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 xAPIC POPCNT AES PCID XSAVE OSXSAVE TSTMR AVX1.0 RDRAND F16C


然而,当我运行gcc(4.7.2 macports)时,它并没有定义
\uuuuuAVX\uuuuu
。发生了什么?(Mac OS X 10.8.2)

I取决于您正在使用的编译器标志,是否将定义
\uuuuuu AVX\uuuuu
\uuuu SSEx\uuuuu

因此,如果您使用的是
g++-march=corei7avx
,宏将被定义
-march=native
也应该足够了,如果gcc能够正确地检测到您的cpu(通常是这样)。

在运行10.6.8的i7 MBP 13”(2010年年中)上,当前的MacPorts gcc 4.7.3和4.8.2在指定-mavx时定义了AVX。但是,它们会使用boost::simd(可通过www.metascale.org获得)崩溃编译代码。
Macports clang-3.3没有这样的问题,但编译需要更长的时间(有或没有-mavx,而没有-mavx的gcc>=4.7)ise答案将是猜测谢谢。是的,使用
march=native
它会拾取它们。
march=corei7avx
未识别('march=switch'的值不正确)但是,当我使用
march=native
时,gcc仍然无法产生有用的输出,因为链接器无法处理avx指令。这是macports附带的cctools链接器。我阅读了一些其他问题的解决方法,但不知道我是否可以简单地告诉gcc使用另一个链接器?我在哪里可以找到binutils(g)as?我安装了它(macports),但找不到汽油。