C is like portable assembly.
GCC can target architectures like:
AArch64
AMDGCN (AMD GPGPUs)
ARC
ARM
AVR
Blackfin
C6X (TI DSP)
DEC Alpha
Epiphany (Adapteva)
FRV
H8/300
HPPA (PA-RISC)
IA-64 (Intel Itanium)
LoongArch
M68k (Motorola 68000 series)
MicroBlaze (Xilinx FPGA)
MIPS
MMIX
MSP430
Nios II (Altera/Intel FPGA)
NVPTX (NVIDIA GPGPUs)
OpenRISC
PowerPC (including RS/6000)
RISC-V
RL78
RX
S/390 (IBM z/Architecture)
SH (SuperH)
SPARC
SPU (Cell Broadband Engine)
VAX
x86 (including i386, x86-64, AMD64)
Xtensa
...
Many people advocate for C praising its simplicity.
But Assembly is even simpler.
Yet, I don’t see the same people promoting rawdogging Assembly.
Interesting.