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