On Fri, Aug 19, 2016 at 11:01 PM, Luca Barbato <[email protected]> wrote: > BTW is pathscale ready to be used as system compiler as well?
I wish, but no. We have known issues when building grub2, glibc and the Linux kernel at the very least. Someone* did report a long time ago that with their unofficial port, were able to build/boot the NetBSD kernel. (*A community dev we trusted with our sources and was helping us with portability across platforms) The stuff with grub2 may potentially be fixed in the "near" future... the others are more tricky. In general if clang can do it, we have a strong chance as well. As a philosophy - "we" aren't really trying to be the best generic compiler in the world. We aim more on optimizing as much for known targets. So if by system you mean, a compiler that would produce an "OS" which only runs on a single class of hardware, then yeah it could work at some point in the future. Specifically, on x86 we default on host CPU optimizations. So on newer Intel hardware it's easy to get a binary that won't run on AMD or older 64bit Intel. More recently on ARMv8 - we turn on processor specific tuning. So while it may "run", the difference between APM's mustang and Cavium ThunderX is pretty big and running binaries intended for A and ran on B would certainly take a hit.. (this is just the tip of the iceberg) For general scalar OS code it isn't likely to matter... the real impact being like 1-10% difference (being very general.. it could be less or more in the real world..) For HPC codes or anything where you get loops or computationally complex - the gloves are off and I could see big differences... (again being general and maybe a bit dramatic for fun)
