summaryrefslogtreecommitdiff
path: root/libc/docs/compiler_support.rst
blob: 00234c22dc2e6fa2c558efec982edcbf14b79b60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.. _compiler_support:

================
Compiler Support
================

``LLVM libc`` compiles from both ``Clang`` and ``GCC`` but for maximum
performance we recommend using ``Clang``.

Indeed, some memory function implementations rely on `compiler intrinsics`__
that are not currently available in ``GCC``.
As such we cannot guarantee optimal performance for these functions.

.. __: https://clang.llvm.org/docs/LanguageExtensions.html#guaranteed-inlined-copy

For platforms where only ``GCC`` is natively available but maximum performance
is required it is possible to bootstrap ``Clang`` with ``GCC`` and then use
``Clang`` to build the '`libc``" project.

Minimum supported versions
==========================

 - ``Clang 11``
 - ``GCC 12.2``