Skip to content

Commit 9e2c0f0

Browse files
authored
[docs] Add llvm & clang release notes for LoongArch (#79097)
1 parent f799f93 commit 9e2c0f0

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1189,8 +1189,14 @@ Windows Support
11891189

11901190
LoongArch Support
11911191
^^^^^^^^^^^^^^^^^
1192-
- The ``model`` attribute is now supported for overriding the default code
1193-
model used to access global variables. The following values are supported:
1192+
- Added builtins support for all LSX (128-bits SIMD) and LASX (256-bits SIMD)
1193+
instructions.
1194+
- Added builtins support for approximate calculation instructions that were
1195+
introduced in LoongArch Reference Manual V1.10.
1196+
- Made ``-mcmodel=`` compatible with LoongArch gcc that accepted ``normal``,
1197+
``medium`` and ``extreme``.
1198+
- The ``model`` attribute was now supported for overriding the default code
1199+
model used to access global variables. The following values were supported:
11941200
``normal``, ``medium`` and ``extreme``.
11951201

11961202
*Example Code*:
@@ -1199,6 +1205,10 @@ LoongArch Support
11991205
12001206
int var __attribute((model("extreme")));
12011207
1208+
- Default to ``-fno-direct-access-external-data`` for non-PIC.
1209+
- An ABI mismatch with gcc/g++ about empty structs/unions passing was fixed.
1210+
- ``_mcount`` was generated instead of ``mcount``.
1211+
12021212
RISC-V Support
12031213
^^^^^^^^^^^^^^
12041214
- Unaligned memory accesses can be toggled by ``-m[no-]unaligned-access`` or the

llvm/docs/ReleaseNotes.rst

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,21 @@ Changes to the Hexagon Backend
132132

133133
Changes to the LoongArch Backend
134134
--------------------------------
135-
* The code model of global variables can now be overridden by means of
136-
the newly added LLVM IR attribute, ``code_model``.
135+
136+
* Added intrinsics support for all LSX (128-bits SIMD) and LASX (256-bits SIMD)
137+
instructions.
138+
* Added definition and intrinsics support for new instructions that were
139+
introduced in LoongArch Reference Manual V1.10.
140+
* Emitted adjacent ``pcaddu18i+jirl`` instrunction sequence with one relocation
141+
``R_LARCH_CALL36`` instead of ``pcalau12i+jirl`` with two relocations
142+
``R_LARCH_PCALA_{HI20,LO12}`` for function call in medium code model.
143+
* The code model of global variables can now be overridden by means of the newly
144+
added LLVM IR attribute, ``code_model``.
145+
* Added support for the ``llvm.is.fpclass`` intrinsic.
146+
* ``mulodi4`` and ``muloti4`` libcalls were disabled due to absence in libgcc.
147+
* Added initial support for auto vectorization.
148+
* Added initial support for linker relaxation.
149+
* Assorted codegen improvements.
137150

138151
Changes to the MIPS Backend
139152
---------------------------

0 commit comments

Comments
 (0)