question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

C(++) Compiler Master List / A Few more Compilers...

See original GitHub issue

C(++) 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
    • GCC
    • PowerPC 64-bit (ellcc?) - see #205
    • ~IBM POWER Compilers (XL) - see #240~ - decided against this
  • PTX (NVIDIA)
    • nvcc - see mattgodbolt/compiler-explorer-image#22
  • RISC-V (ish: https://cx.rv8.io/)
    • GCC - see #334
    • clang
  • SPARC
  • x86
    • AMD - see #430
    • GCC
    • Firm - see #425
    • Clang
    • TCC - see #246
    • Intel
    • ~Oracle - see #141~ - decided against this
    • PGI - see #891
    • OpenWatcom (16/32 bit only) - see #253
    • DJGPP (see #844)
  • 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:open
  • Created 8 years ago
  • Reactions:1
  • Comments:38 (27 by maintainers)

github_iconTop GitHub Comments

2reactions
mcandrecommented, May 8, 2021

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.

2reactions
mattgodboltcommented, Apr 1, 2019

cc65 now live on the site

Read more comments on GitHub >

github_iconTop Results From Across the Web

C(++) Compiler Master List / A Few more Compilers... · Issue #82
TCC (x86; [x64, ARM, MIPS]?). The performance from the Tiny C Compiler is simply horrible due to its obvious lack of optimizations. They...
Read more >
List of compilers - Wikipedia
This page is intended to list all current compilers, compiler generators, interpreters, translators, tool foundations, assemblers, automatable command line ...
Read more >
Lab 2: Compiling C Programs - HackMD - Brown CS
In this lab, we'll dive into the details of how you compile C programs, and how you automate compilation in larger projects that...
Read more >
Why does this C++ program work in some compilers but not ...
I have found it compiles and runs just fine with the GNU g++ compiler. My professor auto-grades our programs from his website, which...
Read more >
GCC vs. Clang/LLVM: An In-Depth Comparison of C/C++ ...
Not all compilers can do this. When selecting a compiler, we must first consider whether the same code segment can generate more efficient ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found