blob: 00234c22dc2e6fa2c558efec982edcbf14b79b60 [file] [log] [blame]
Guillaume Chatelet062a7ea2023-01-05 13:35:091.. _compiler_support:
2
3================
4Compiler Support
5================
6
Guillaume Chatelet83e98c82023-02-06 13:03:187``LLVM libc`` compiles from both ``Clang`` and ``GCC`` but for maximum
Kazu Hirata282798f2023-05-06 18:26:328performance we recommend using ``Clang``.
Guillaume Chatelet062a7ea2023-01-05 13:35:099
Guillaume Chatelet83e98c82023-02-06 13:03:1810Indeed, some memory function implementations rely on `compiler intrinsics`__
11that are not currently available in ``GCC``.
Guillaume Chatelet062a7ea2023-01-05 13:35:0912As such we cannot guarantee optimal performance for these functions.
13
14.. __: https://clang.llvm.org/docs/LanguageExtensions.html#guaranteed-inlined-copy
15
Guillaume Chatelet83e98c82023-02-06 13:03:1816For platforms where only ``GCC`` is natively available but maximum performance
17is required it is possible to bootstrap ``Clang`` with ``GCC`` and then use
18``Clang`` to build the '`libc``" project.
19
Siva Chandra Reddybe721a32023-03-15 05:52:5320Minimum supported versions
21==========================
Guillaume Chatelet062a7ea2023-01-05 13:35:0922
23 - ``Clang 11``
Siva Chandra Reddybe721a32023-03-15 05:52:5324 - ``GCC 12.2``