Hi folks,

I develop software for work that uses some advanced cpu features and parallelism. While I fully understand that high-performance is not a focus for OpenBSD, I would still like to be able to test basic stuff on my Laptop (which happens to run OpenBSD). So, before I get my hands dirty on this, I'd like to ask if there are structural issues and/or policies preventing those features from working, or whether just no-one was interested up until now (I have done some basic searching but didn't come up with too much).

The features in question are:

1) OpenMP with the GCC-port. It is disabled by default. Is there a reason for this? Are there any known "blockers"? Should I be able to make it work, would patches be accepted?

2) CPU-features like POPCNT, AVX are apparently not supported right now (or at least not with gcc). Also if you build software with the gcc-4.9-port and specify -march=native gcc wil produce code that actually uses instructions that are not supported, and then fail with messages like this:

/tmp//ccF2Aqg7.s: Assembler messages:
/tmp//ccF2Aqg7.s:1668791: Error: no such instruction: `popcntl -4(%rbp),%eax' /tmp//ccF2Aqg7.s:1669741: Error: no such instruction: `popcntq -8(%rbp),%rax'

-> Are there plans to support more modern CPU-extensions and is there a list somewhere of which extensions are supported and which ones aren't? I guess they could be useful for other low-level stuff like encryption, as well.. --> If not, should the gcc-port be adapted to not offer those extensions that aren't supported?

Thanks and best regards,
Hannes

Reply via email to