Chris, is that the case for MacOS 10.8 as well?

> On 2021-05-04-T, at 14:24, Christopher Jones <[email protected]> wrote:
> 
> Thats very out out date. The as provided by the cctools port either uses a 
> new LLVM build, or just wraps the Xcode tools on the most recent systems. It 
> supports AVX just fine.
> 
>> On 4 May 2021, at 7:17 pm, Christopher Nielsen <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> 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] 
>>> <mailto:[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?

Reply via email to