Based on the following ticket, it sounds as if GCC is utilizing Apple’s assembler by default?
cctools as does not support AVX, consider using llvm: https://trac.macports.org/ticket/37846 <https://trac.macports.org/ticket/37846> The suggested fix - albeit from 3 years ago - requires manually selecting clang, via ‘port select’. Is that still accurate? Are there any other clean ways to fix this, apart from disabling use of AVX instructions? > On 2021-05-04-T, at 12:45, Christopher Nielsen <[email protected]> > wrote: > > I’m currently reviewing the build logs for openmpi-* subports, which are > failing to build for older MacOS releases. > > And it looks like the issue relates to the use of the various AVX* > instruction sets: > > CCLD liblocal_ops_avx2.la <http://liblocal_ops_avx2.la/> > <stdin>:1015:20: error: invalid operand for instruction > vmovdqu64 (%rdi), %ymm0 > ^~~~~ > <stdin>:1019:12: error: invalid operand for instruction > vmovdqu64 %ymm0, -32(%rsi) > ^~~~~ > <stdin>:1127:20: error: invalid operand for instruction > vmovdqu64 (%rdi), %ymm0 > ^~~~~ > <stdin>:1131:12: error: invalid operand for instruction > vmovdqu64 %ymm0, -32(%rsi) > ^~~~~ > […etc…] > > We can fix the problem by disabling use of those instructions, via a > configure flag. The simplest approach would be to disable them > across-the-board, albeit with a slight performance penalty. Or we can add > conditional logic to disable them for those older releases. > > There’s something curious though: These instructions are supported for GCC 5 > and 6, on MacOS 10.8. But GCC releases from 7 on, don’t seem to. (All GCC > releases are working for later MacOS releases, though.) > > So… do our GCC 7+ releases for MacOS 10.8 and earlier, not include AVX* > support? If not, would it be feasible to patch them?
