gcc, AVX (and newer) intrinsics and binutils

René J.V. Bertin rjvbertin at gmail.com
Fri May 12 09:05:59 UTC 2017


Hi,

As reported elsewhere I have been working on a GCC patch to get g++ to build against libc++ so it can be used more generally. That seems to work, even on 10.9 which has a libc++ that is missing a number of functions (like "operator delete(void*, unsigned long)") but which can apparently be obtained from GCC's libsupc++ without problems.

There is an issue with SIMD intrinsics though. From what I understand, GCC uses a different syntax for AVX and newer (?) architectures which even the latest cctools (895) don't understand.

GCC vs. clang comparisons on sites like Phoronix suggest that GCC still has the upper hand compared even to clang 4.0 in computation-intensive tasks so it would make a lot of sense to get it to support the full instruction set.

Would building gcc to use the GNU binutils be a solution here? The note in the binutils port makes me hesitant to try (plus rebuilding gcc is a bit too expensive to experiment freely). I *presume* one can avoid interference from the GNU binutils by installing them in a private location where only GCC finds them, but would that solve any instruction set issues or introduce other issues?

Thanks,
René


More information about the macports-dev mailing list