C(++) Compiler Master List / A Few more Compilers...
See original GitHub issueC(++) Compiler Master List:
- ARM
- Keil
- GCC
- clang
- aarch64 (gcc)
- aarch64 (clang) - see #174
- TCC
- Hexagon DSP
- Qualcomm - see #433
- MIPS
- GCC
- Clang
- TCC
- MMIX (gcc) - see #187
- m68k (gcc) - see #271
- POWER
- PTX (NVIDIA)
- nvcc - see mattgodbolt/compiler-explorer-image#22
- RISC-V (ish: https://cx.rv8.io/)
- GCC - see #334
- clang
- SPARC
- GCC - see #266
- x86
- z/System (IBM)
Organized by [arch, implementation]. Implementation checked if a reasonably modern version (not necessarily the latest) is usable. Arch checked if at least the mainstream compilers that are available publicly are usable. Archs with only one actual implementation are single line top level items.
First of all, let me thank you again for making this available as a public service - it’s really helped me figure out which compilers are best for optimizing which tasks (hint, hint: latest GCC and Intel go neck to neck with the right options, although GCC does non-obvious vectorization (and other algorithmic manipulations), while Intel gets instruction ordering (and other architecture specific optimizations)).
That being said, it’d be cool to have a few more compilers, especially more of the advanced ones for various platforms (which happen to generally be proprietary). To help convince them, it might be worth showing that Intel has allowed the use of their compiler and that they could point to your page as a demonstration (online demo) of their product(s). Of interest:
PGI (x86/64)
Yeah, I know they’re hyper enterprisey/academic and all, but it’d be pretty neat to have the PGI Compiler in too. Of interest would likely be their x86_64 workstation compiler, seeing as the server compiler appears to be more of a networked edition of the workstation one.
IBM (POWER8 & z/System)
Okay, these guys have a lot of architectures and thus a metric shit ton of compilers. What actually appears to be intended for use with Linux are their XL C/C++ Linux Power Compiler and their XL C/C++ Linux on Z Compilers. One thing I couldn’t ascertain was whether the compilers themselves required either of those platforms (which I assume would make using the IBM compilers infeasible).
ARM (ARM/64)
ARM’s Compiler 6 should have pretty good performance, given that it is their architecture. It would be interesting to see what they are doing differently, and also see how the special optimizations in the upcoming ARM64 models are used. Also, their compiler is built off of LLVM, which reminds me…
LLVM (ARM/64, Hexagon, MIPS, PTX/64 (hi NVIDIA), Sparc/v9, z/System (hi IBM))
Umm… I think I’ll make a separate issue for this. There;s just… too. much. stuff.
NVIDIA (PTX)
These guys seem to be suuuper chill lately. They not only made their CUDA 7 Compiler (nvcc
) free, they built an Ubuntu deb (and a bunch of other packages, so installing should be easy.
TCC (x86; [x64, ARM, MIPS]?)
The performance from the Tiny C Compiler is simply horrible due to its obvious lack of optimizations. They appear to still be adding stuff, but it looks like they now support more than just i386. This one is probably the easiest to setup, but it’s also the lowest priority IMHO.
Anyways, I know you have other things to get done, so try not to spend too much time on this (not too high of a priority), but please do shoot a few emails here and there and try to setup NVIDIA and TCC if possible (those two are free).
Thanks again!
Issue Analytics
- State:
- Created 8 years ago
- Reactions:1
- Comments:38 (27 by maintainers)
Top GitHub Comments
Amazing cross platform support, everyone!
Can we add Apple M1 ARM64 (gcc, clang), and Apple Intel AMD64 (gcc, clang) to the list as well? Apple tunes their Xcode clang compiler in surprising ways.
cc65 now live on the site