From 4fa597e032bd40d0a416a1a611124fad0503da47 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 03:31:02 +0800 Subject: [PATCH 1/9] fix: the x87 routines are an architecture property, not an operating-system one MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `--target aarch64-linux-musl` 编不过: truncxfhf2.c:13:36: error: unknown type name 'xf_float'; did you mean 'tf_float'? `*xf*.c` 与 `*xc3.c` 是 x87 80 位 `long double` 的例程。本清单里排除它们的 条件有两处,`cfg(os = "macos")` 与 `cfg(os = "none")` —— **都按操作系统分, 而这是架构的性质**。于是 aarch64-linux 落进 `os = "linux"` 那一支, 去编一个只有 x86 才有的类型。 ⭐ **两处此前都是对的,只是排错了轴。** `os = "macos"` 与 `os = "none"` 今天恰好都蕴含「非 x87 架构」,所以那条排除看起来像 OS 属性。它不是。 ⚠️ 并且 linux 段**不排除**它们也是对的,注释里记着理由:x86 上 `long double` 真是 x87 80 位,`-lgcc` 从链接行拿掉之后 ld.lld: error: undefined symbol: __mulxc3 —— libc++ `` 里的复数乘法真的会调它。所以这不是「多编了没用的 文件」,两个方向都会坏。 新增一段按架构分: [target.'cfg(all(os = "linux", not(arch = "x86_64")))'.build] sources = ["!…/*xf*.c", "!…/*xc3.c"] 按事实真正所在的那条轴来分,是让第二个架构可用而不必再抄一份列表的做法。 实测:该错误消失,构建推进到下一处(BMI 目标特性不匹配,另案)。 报告 mcpp-community/mcpp#492 (comment)。 --- mcpp.toml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/mcpp.toml b/mcpp.toml index 3aaa7b76..960c0e72 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -360,6 +360,32 @@ sources = [ "!llvm/libcxx/src/filesystem/int128_builtins.cpp", ] +# ⚠️ THE x87 ROUTINES ARE AN ARCHITECTURE PROPERTY, AND THE BLOCK ABOVE SORTS +# BY OPERATING SYSTEM. +# +# `*xf*.c` and `*xc3.c` are the 80-bit `long double` routines. On x86 that type +# is real and the calls are real — the block above deliberately does NOT exclude +# them, and its own note records why (`ld.lld: error: undefined symbol: +# __mulxc3`, from libc++'s ``, once `-lgcc` came off the link line). +# +# On every other architecture the type does not exist. Measured 2026-08-25, +# `--target aarch64-linux-musl`: +# +# truncxfhf2.c:13:36: error: unknown type name 'xf_float'; +# did you mean 'tf_float'? +# +# ⭐ Both blocks were right about their own case and both sorted on the wrong +# axis: `os = "macos"` and `os = "none"` happen to imply a non-x87 architecture +# today, so the exclusion looked like an OS property. It is not. Sorting on the +# axis the fact actually lives on is what makes a second architecture work +# without a third copy of the list. +[target.'cfg(all(os = "linux", not(arch = "x86_64")))'.build] +sources = [ + "!llvm/compiler-rt/lib/builtins/*xf*.c", + "!llvm/compiler-rt/lib/builtins/*xc3.c", +] + + [target.'cfg(windows)'.build] # ⚠️ `-fdwarf-exceptions` WAS HERE AND IS NOT ANY MORE, for the reason the macOS # block above records: it decides what a `throw` COMPILES INTO, so it is true of From 997cf280a701c812fdce2edb1429f9404ed3c694 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 03:51:57 +0800 Subject: [PATCH 2/9] feat(aarch64): supply the 125 outline-atomics helpers, because this package is that compiler-rt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `--target aarch64-linux-musl` 链接失败: ld.lld: error: undefined symbol: __aarch64_swp4_acq ld.lld: error: undefined symbol: __aarch64_cas8_acq_rel ⭐ **`--rtlib=compiler-rt` 让 clang 在 aarch64 上开启 `+outline-atomics`, 而它是对的** —— 那些 `__aarch64_*` 辅助函数本来就住在 compiler-rt 里, 只是本包没产出它们。特性被开启而无人实现,于是缺符号。 ⚠️ 引用来自 `openkal-linux/src/memory.o` 与 `openkal-musl/port/src/okm_fd.o` —— 两个对这件事一无所知、只是用了原子操作的包。**缺的是这份运行时该有的 东西**,所以修在这里,而不是让引擎去关掉那个特性。 ── ⭐ 把宏从命令行移进文件,而不是复制 125 份实现 ──────── upstream 用 CMake 把 `aarch64/lse.S` 编 125 遍,每遍给不同的 `-DL_ -DSIZE= -DMODEL=`(6 模式 × 5 尺寸 × 5 模型, 非 cas 的 16 字节档不存在)。`sources` 是 glob,传不了 per-file 定义。 于是每个组合成为一个**只声明宏、再 include 共享正文**的小文件: #define L_cas #define SIZE 1 #define MODEL 1 #include "../../llvm/compiler-rt/lib/builtins/assembly.h" #include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" 正文是 upstream 的、未经修改、留在原处 —— `git diff` 对着一份新 checkout 仍然为空。 ── ⚠️ 途中两处「以为做完了其实没有」 ────────────────── **① `#include "assembly.h"` 解析不到。** upstream 靠 `INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}"` 供给;生成的文件在 别的目录,汇编器于是把 `HIDDEN(...)` 读成指令: error: unrecognized instruction mnemonic 解法是让生成文件**自己按相对自身的路径 include 那个头** —— 不需要任何 flag,而 flag 正是「任何再包含这个目录的人都得重复一遍」的那种东西。 **② `__aarch64_have_lse_atomics` 未定义。** 125 个辅助函数每个都读它 —— 运行时决定走 LSE 指令还是 load/store-exclusive 循环。它在 `cpu_model/aarch64.c`,而 `[build]` 段的 glob 是 `builtins/*.c`, **不含子目录**,所以这个文件从未被编过。 ── 实测 ──────────────────────────────────────────── 已定义的 __aarch64_* 符号 10 未定义 0 产物中的 LSE 指令 8 处 ← 特性真的在工作 file ELF 64-bit LSB executable, ARM aarch64, statically linked ⭐ 这是**真正支持**,不是关掉特性绕过去。mcpp 引擎零改动。 来源:mcpp-community/mcpp#492 (comment)。 --- llvm-generated/outline-atomics/oa_cas16_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas16_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas16_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas16_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas16_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas1_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas1_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas1_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas1_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas1_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas2_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas2_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas2_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas2_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas2_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas4_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas4_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas4_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas4_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas4_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas8_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas8_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas8_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas8_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_cas8_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd1_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd1_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd1_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd1_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd1_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd2_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd2_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd2_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd2_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd2_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd4_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd4_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd4_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd4_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd4_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd8_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd8_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd8_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd8_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldadd8_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr1_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr1_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr1_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr1_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr1_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr2_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr2_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr2_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr2_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr2_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr4_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr4_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr4_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr4_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr4_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr8_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr8_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr8_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr8_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldclr8_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor1_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor1_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor1_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor1_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor1_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor2_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor2_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor2_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor2_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor2_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor4_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor4_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor4_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor4_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor4_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor8_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor8_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor8_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor8_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldeor8_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset1_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset1_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset1_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset1_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset1_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset2_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset2_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset2_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset2_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset2_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset4_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset4_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset4_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset4_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset4_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset8_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset8_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset8_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset8_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_ldset8_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp1_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp1_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp1_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp1_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp1_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp2_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp2_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp2_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp2_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp2_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp4_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp4_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp4_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp4_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp4_5.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp8_1.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp8_2.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp8_3.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp8_4.S | 21 +++++++ llvm-generated/outline-atomics/oa_swp8_5.S | 21 +++++++ mcpp.toml | 66 +++++++++++++++++++- 126 files changed, 2690 insertions(+), 1 deletion(-) create mode 100644 llvm-generated/outline-atomics/oa_cas16_1.S create mode 100644 llvm-generated/outline-atomics/oa_cas16_2.S create mode 100644 llvm-generated/outline-atomics/oa_cas16_3.S create mode 100644 llvm-generated/outline-atomics/oa_cas16_4.S create mode 100644 llvm-generated/outline-atomics/oa_cas16_5.S create mode 100644 llvm-generated/outline-atomics/oa_cas1_1.S create mode 100644 llvm-generated/outline-atomics/oa_cas1_2.S create mode 100644 llvm-generated/outline-atomics/oa_cas1_3.S create mode 100644 llvm-generated/outline-atomics/oa_cas1_4.S create mode 100644 llvm-generated/outline-atomics/oa_cas1_5.S create mode 100644 llvm-generated/outline-atomics/oa_cas2_1.S create mode 100644 llvm-generated/outline-atomics/oa_cas2_2.S create mode 100644 llvm-generated/outline-atomics/oa_cas2_3.S create mode 100644 llvm-generated/outline-atomics/oa_cas2_4.S create mode 100644 llvm-generated/outline-atomics/oa_cas2_5.S create mode 100644 llvm-generated/outline-atomics/oa_cas4_1.S create mode 100644 llvm-generated/outline-atomics/oa_cas4_2.S create mode 100644 llvm-generated/outline-atomics/oa_cas4_3.S create mode 100644 llvm-generated/outline-atomics/oa_cas4_4.S create mode 100644 llvm-generated/outline-atomics/oa_cas4_5.S create mode 100644 llvm-generated/outline-atomics/oa_cas8_1.S create mode 100644 llvm-generated/outline-atomics/oa_cas8_2.S create mode 100644 llvm-generated/outline-atomics/oa_cas8_3.S create mode 100644 llvm-generated/outline-atomics/oa_cas8_4.S create mode 100644 llvm-generated/outline-atomics/oa_cas8_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd1_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd1_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd1_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd1_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd1_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd2_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd2_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd2_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd2_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd2_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd4_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd4_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd4_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd4_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd4_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd8_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd8_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd8_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd8_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldadd8_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr1_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr1_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr1_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr1_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr1_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr2_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr2_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr2_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr2_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr2_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr4_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr4_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr4_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr4_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr4_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr8_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr8_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr8_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr8_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldclr8_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor1_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor1_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor1_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor1_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor1_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor2_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor2_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor2_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor2_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor2_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor4_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor4_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor4_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor4_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor4_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor8_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor8_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor8_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor8_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldeor8_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldset1_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldset1_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldset1_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldset1_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldset1_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldset2_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldset2_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldset2_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldset2_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldset2_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldset4_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldset4_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldset4_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldset4_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldset4_5.S create mode 100644 llvm-generated/outline-atomics/oa_ldset8_1.S create mode 100644 llvm-generated/outline-atomics/oa_ldset8_2.S create mode 100644 llvm-generated/outline-atomics/oa_ldset8_3.S create mode 100644 llvm-generated/outline-atomics/oa_ldset8_4.S create mode 100644 llvm-generated/outline-atomics/oa_ldset8_5.S create mode 100644 llvm-generated/outline-atomics/oa_swp1_1.S create mode 100644 llvm-generated/outline-atomics/oa_swp1_2.S create mode 100644 llvm-generated/outline-atomics/oa_swp1_3.S create mode 100644 llvm-generated/outline-atomics/oa_swp1_4.S create mode 100644 llvm-generated/outline-atomics/oa_swp1_5.S create mode 100644 llvm-generated/outline-atomics/oa_swp2_1.S create mode 100644 llvm-generated/outline-atomics/oa_swp2_2.S create mode 100644 llvm-generated/outline-atomics/oa_swp2_3.S create mode 100644 llvm-generated/outline-atomics/oa_swp2_4.S create mode 100644 llvm-generated/outline-atomics/oa_swp2_5.S create mode 100644 llvm-generated/outline-atomics/oa_swp4_1.S create mode 100644 llvm-generated/outline-atomics/oa_swp4_2.S create mode 100644 llvm-generated/outline-atomics/oa_swp4_3.S create mode 100644 llvm-generated/outline-atomics/oa_swp4_4.S create mode 100644 llvm-generated/outline-atomics/oa_swp4_5.S create mode 100644 llvm-generated/outline-atomics/oa_swp8_1.S create mode 100644 llvm-generated/outline-atomics/oa_swp8_2.S create mode 100644 llvm-generated/outline-atomics/oa_swp8_3.S create mode 100644 llvm-generated/outline-atomics/oa_swp8_4.S create mode 100644 llvm-generated/outline-atomics/oa_swp8_5.S diff --git a/llvm-generated/outline-atomics/oa_cas16_1.S b/llvm-generated/outline-atomics/oa_cas16_1.S new file mode 100644 index 00000000..639f14db --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas16_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 16 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas16_2.S b/llvm-generated/outline-atomics/oa_cas16_2.S new file mode 100644 index 00000000..0ecd9502 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas16_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 16 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas16_3.S b/llvm-generated/outline-atomics/oa_cas16_3.S new file mode 100644 index 00000000..beb3c993 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas16_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 16 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas16_4.S b/llvm-generated/outline-atomics/oa_cas16_4.S new file mode 100644 index 00000000..a7e1a735 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas16_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 16 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas16_5.S b/llvm-generated/outline-atomics/oa_cas16_5.S new file mode 100644 index 00000000..a63d5883 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas16_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 16 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas1_1.S b/llvm-generated/outline-atomics/oa_cas1_1.S new file mode 100644 index 00000000..1508b0e0 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas1_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 1 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas1_2.S b/llvm-generated/outline-atomics/oa_cas1_2.S new file mode 100644 index 00000000..2f6ba6de --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas1_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 1 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas1_3.S b/llvm-generated/outline-atomics/oa_cas1_3.S new file mode 100644 index 00000000..7e1e1b74 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas1_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 1 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas1_4.S b/llvm-generated/outline-atomics/oa_cas1_4.S new file mode 100644 index 00000000..27f79544 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas1_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 1 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas1_5.S b/llvm-generated/outline-atomics/oa_cas1_5.S new file mode 100644 index 00000000..a94a83bb --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas1_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 1 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas2_1.S b/llvm-generated/outline-atomics/oa_cas2_1.S new file mode 100644 index 00000000..c1de2bf4 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas2_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 2 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas2_2.S b/llvm-generated/outline-atomics/oa_cas2_2.S new file mode 100644 index 00000000..cdec232f --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas2_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 2 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas2_3.S b/llvm-generated/outline-atomics/oa_cas2_3.S new file mode 100644 index 00000000..b8eb5aea --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas2_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 2 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas2_4.S b/llvm-generated/outline-atomics/oa_cas2_4.S new file mode 100644 index 00000000..277a7b70 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas2_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 2 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas2_5.S b/llvm-generated/outline-atomics/oa_cas2_5.S new file mode 100644 index 00000000..b9da84d2 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas2_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 2 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas4_1.S b/llvm-generated/outline-atomics/oa_cas4_1.S new file mode 100644 index 00000000..a5a729eb --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas4_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 4 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas4_2.S b/llvm-generated/outline-atomics/oa_cas4_2.S new file mode 100644 index 00000000..25cb8b9a --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas4_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 4 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas4_3.S b/llvm-generated/outline-atomics/oa_cas4_3.S new file mode 100644 index 00000000..2861cd88 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas4_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 4 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas4_4.S b/llvm-generated/outline-atomics/oa_cas4_4.S new file mode 100644 index 00000000..e6ada153 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas4_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 4 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas4_5.S b/llvm-generated/outline-atomics/oa_cas4_5.S new file mode 100644 index 00000000..837e18d5 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas4_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 4 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas8_1.S b/llvm-generated/outline-atomics/oa_cas8_1.S new file mode 100644 index 00000000..8ec46ea7 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas8_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 8 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas8_2.S b/llvm-generated/outline-atomics/oa_cas8_2.S new file mode 100644 index 00000000..dda1fe9f --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas8_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 8 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas8_3.S b/llvm-generated/outline-atomics/oa_cas8_3.S new file mode 100644 index 00000000..4ddc139c --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas8_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 8 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas8_4.S b/llvm-generated/outline-atomics/oa_cas8_4.S new file mode 100644 index 00000000..6e91cdf5 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas8_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 8 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_cas8_5.S b/llvm-generated/outline-atomics/oa_cas8_5.S new file mode 100644 index 00000000..d8dc4fab --- /dev/null +++ b/llvm-generated/outline-atomics/oa_cas8_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_cas +#define SIZE 8 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd1_1.S b/llvm-generated/outline-atomics/oa_ldadd1_1.S new file mode 100644 index 00000000..6a664617 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd1_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 1 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd1_2.S b/llvm-generated/outline-atomics/oa_ldadd1_2.S new file mode 100644 index 00000000..c6d267de --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd1_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 1 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd1_3.S b/llvm-generated/outline-atomics/oa_ldadd1_3.S new file mode 100644 index 00000000..81285c93 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd1_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 1 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd1_4.S b/llvm-generated/outline-atomics/oa_ldadd1_4.S new file mode 100644 index 00000000..fd70fe10 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd1_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 1 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd1_5.S b/llvm-generated/outline-atomics/oa_ldadd1_5.S new file mode 100644 index 00000000..2dec6ee8 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd1_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 1 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd2_1.S b/llvm-generated/outline-atomics/oa_ldadd2_1.S new file mode 100644 index 00000000..e3ebca1a --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd2_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 2 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd2_2.S b/llvm-generated/outline-atomics/oa_ldadd2_2.S new file mode 100644 index 00000000..918f992d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd2_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 2 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd2_3.S b/llvm-generated/outline-atomics/oa_ldadd2_3.S new file mode 100644 index 00000000..265f2c70 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd2_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 2 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd2_4.S b/llvm-generated/outline-atomics/oa_ldadd2_4.S new file mode 100644 index 00000000..7d4b653f --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd2_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 2 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd2_5.S b/llvm-generated/outline-atomics/oa_ldadd2_5.S new file mode 100644 index 00000000..e25b6d8d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd2_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 2 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd4_1.S b/llvm-generated/outline-atomics/oa_ldadd4_1.S new file mode 100644 index 00000000..100360ac --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd4_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 4 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd4_2.S b/llvm-generated/outline-atomics/oa_ldadd4_2.S new file mode 100644 index 00000000..75c313f7 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd4_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 4 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd4_3.S b/llvm-generated/outline-atomics/oa_ldadd4_3.S new file mode 100644 index 00000000..f0b7b709 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd4_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 4 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd4_4.S b/llvm-generated/outline-atomics/oa_ldadd4_4.S new file mode 100644 index 00000000..cdb6e7dd --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd4_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 4 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd4_5.S b/llvm-generated/outline-atomics/oa_ldadd4_5.S new file mode 100644 index 00000000..7e2faa01 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd4_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 4 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd8_1.S b/llvm-generated/outline-atomics/oa_ldadd8_1.S new file mode 100644 index 00000000..2ae4eec4 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd8_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 8 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd8_2.S b/llvm-generated/outline-atomics/oa_ldadd8_2.S new file mode 100644 index 00000000..56a311dd --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd8_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 8 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd8_3.S b/llvm-generated/outline-atomics/oa_ldadd8_3.S new file mode 100644 index 00000000..8b08d837 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd8_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 8 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd8_4.S b/llvm-generated/outline-atomics/oa_ldadd8_4.S new file mode 100644 index 00000000..9cbf8949 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd8_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 8 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldadd8_5.S b/llvm-generated/outline-atomics/oa_ldadd8_5.S new file mode 100644 index 00000000..984258ab --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldadd8_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldadd +#define SIZE 8 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr1_1.S b/llvm-generated/outline-atomics/oa_ldclr1_1.S new file mode 100644 index 00000000..c3bcde96 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr1_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 1 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr1_2.S b/llvm-generated/outline-atomics/oa_ldclr1_2.S new file mode 100644 index 00000000..0f5df977 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr1_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 1 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr1_3.S b/llvm-generated/outline-atomics/oa_ldclr1_3.S new file mode 100644 index 00000000..f58fb49b --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr1_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 1 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr1_4.S b/llvm-generated/outline-atomics/oa_ldclr1_4.S new file mode 100644 index 00000000..088c80cd --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr1_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 1 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr1_5.S b/llvm-generated/outline-atomics/oa_ldclr1_5.S new file mode 100644 index 00000000..fa9d475d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr1_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 1 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr2_1.S b/llvm-generated/outline-atomics/oa_ldclr2_1.S new file mode 100644 index 00000000..d31d1f52 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr2_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 2 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr2_2.S b/llvm-generated/outline-atomics/oa_ldclr2_2.S new file mode 100644 index 00000000..2cc5dbe8 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr2_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 2 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr2_3.S b/llvm-generated/outline-atomics/oa_ldclr2_3.S new file mode 100644 index 00000000..26f97421 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr2_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 2 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr2_4.S b/llvm-generated/outline-atomics/oa_ldclr2_4.S new file mode 100644 index 00000000..217eb5ea --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr2_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 2 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr2_5.S b/llvm-generated/outline-atomics/oa_ldclr2_5.S new file mode 100644 index 00000000..7391de68 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr2_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 2 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr4_1.S b/llvm-generated/outline-atomics/oa_ldclr4_1.S new file mode 100644 index 00000000..a6a9ad26 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr4_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 4 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr4_2.S b/llvm-generated/outline-atomics/oa_ldclr4_2.S new file mode 100644 index 00000000..b388adf8 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr4_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 4 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr4_3.S b/llvm-generated/outline-atomics/oa_ldclr4_3.S new file mode 100644 index 00000000..145792b4 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr4_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 4 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr4_4.S b/llvm-generated/outline-atomics/oa_ldclr4_4.S new file mode 100644 index 00000000..f1268948 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr4_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 4 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr4_5.S b/llvm-generated/outline-atomics/oa_ldclr4_5.S new file mode 100644 index 00000000..6ea0974d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr4_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 4 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr8_1.S b/llvm-generated/outline-atomics/oa_ldclr8_1.S new file mode 100644 index 00000000..466e4bd7 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr8_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 8 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr8_2.S b/llvm-generated/outline-atomics/oa_ldclr8_2.S new file mode 100644 index 00000000..d1fe2734 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr8_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 8 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr8_3.S b/llvm-generated/outline-atomics/oa_ldclr8_3.S new file mode 100644 index 00000000..1d0749da --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr8_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 8 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr8_4.S b/llvm-generated/outline-atomics/oa_ldclr8_4.S new file mode 100644 index 00000000..8ef503cb --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr8_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 8 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldclr8_5.S b/llvm-generated/outline-atomics/oa_ldclr8_5.S new file mode 100644 index 00000000..9b293840 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldclr8_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldclr +#define SIZE 8 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor1_1.S b/llvm-generated/outline-atomics/oa_ldeor1_1.S new file mode 100644 index 00000000..3efbb671 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor1_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 1 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor1_2.S b/llvm-generated/outline-atomics/oa_ldeor1_2.S new file mode 100644 index 00000000..13db9118 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor1_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 1 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor1_3.S b/llvm-generated/outline-atomics/oa_ldeor1_3.S new file mode 100644 index 00000000..681a113f --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor1_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 1 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor1_4.S b/llvm-generated/outline-atomics/oa_ldeor1_4.S new file mode 100644 index 00000000..31fcf4c7 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor1_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 1 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor1_5.S b/llvm-generated/outline-atomics/oa_ldeor1_5.S new file mode 100644 index 00000000..6584d288 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor1_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 1 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor2_1.S b/llvm-generated/outline-atomics/oa_ldeor2_1.S new file mode 100644 index 00000000..27a80b2b --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor2_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 2 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor2_2.S b/llvm-generated/outline-atomics/oa_ldeor2_2.S new file mode 100644 index 00000000..63b55fbb --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor2_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 2 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor2_3.S b/llvm-generated/outline-atomics/oa_ldeor2_3.S new file mode 100644 index 00000000..1ca1a938 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor2_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 2 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor2_4.S b/llvm-generated/outline-atomics/oa_ldeor2_4.S new file mode 100644 index 00000000..6dca902d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor2_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 2 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor2_5.S b/llvm-generated/outline-atomics/oa_ldeor2_5.S new file mode 100644 index 00000000..013b2dfd --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor2_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 2 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor4_1.S b/llvm-generated/outline-atomics/oa_ldeor4_1.S new file mode 100644 index 00000000..6f2bdaab --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor4_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 4 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor4_2.S b/llvm-generated/outline-atomics/oa_ldeor4_2.S new file mode 100644 index 00000000..8499ec7f --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor4_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 4 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor4_3.S b/llvm-generated/outline-atomics/oa_ldeor4_3.S new file mode 100644 index 00000000..d7bd5373 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor4_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 4 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor4_4.S b/llvm-generated/outline-atomics/oa_ldeor4_4.S new file mode 100644 index 00000000..2fd6891d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor4_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 4 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor4_5.S b/llvm-generated/outline-atomics/oa_ldeor4_5.S new file mode 100644 index 00000000..e3b2eeda --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor4_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 4 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor8_1.S b/llvm-generated/outline-atomics/oa_ldeor8_1.S new file mode 100644 index 00000000..22b3f660 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor8_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 8 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor8_2.S b/llvm-generated/outline-atomics/oa_ldeor8_2.S new file mode 100644 index 00000000..bc9b7973 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor8_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 8 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor8_3.S b/llvm-generated/outline-atomics/oa_ldeor8_3.S new file mode 100644 index 00000000..6a80894e --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor8_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 8 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor8_4.S b/llvm-generated/outline-atomics/oa_ldeor8_4.S new file mode 100644 index 00000000..01fcb526 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor8_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 8 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldeor8_5.S b/llvm-generated/outline-atomics/oa_ldeor8_5.S new file mode 100644 index 00000000..59212f93 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldeor8_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldeor +#define SIZE 8 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset1_1.S b/llvm-generated/outline-atomics/oa_ldset1_1.S new file mode 100644 index 00000000..8714fe9e --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset1_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 1 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset1_2.S b/llvm-generated/outline-atomics/oa_ldset1_2.S new file mode 100644 index 00000000..1befdf31 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset1_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 1 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset1_3.S b/llvm-generated/outline-atomics/oa_ldset1_3.S new file mode 100644 index 00000000..7ad0b321 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset1_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 1 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset1_4.S b/llvm-generated/outline-atomics/oa_ldset1_4.S new file mode 100644 index 00000000..da8b08a9 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset1_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 1 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset1_5.S b/llvm-generated/outline-atomics/oa_ldset1_5.S new file mode 100644 index 00000000..8fb0a4af --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset1_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 1 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset2_1.S b/llvm-generated/outline-atomics/oa_ldset2_1.S new file mode 100644 index 00000000..6bbeff0c --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset2_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 2 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset2_2.S b/llvm-generated/outline-atomics/oa_ldset2_2.S new file mode 100644 index 00000000..eef9ddc9 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset2_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 2 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset2_3.S b/llvm-generated/outline-atomics/oa_ldset2_3.S new file mode 100644 index 00000000..56b971c7 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset2_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 2 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset2_4.S b/llvm-generated/outline-atomics/oa_ldset2_4.S new file mode 100644 index 00000000..8efef769 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset2_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 2 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset2_5.S b/llvm-generated/outline-atomics/oa_ldset2_5.S new file mode 100644 index 00000000..598ae2a4 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset2_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 2 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset4_1.S b/llvm-generated/outline-atomics/oa_ldset4_1.S new file mode 100644 index 00000000..45ad49a4 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset4_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 4 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset4_2.S b/llvm-generated/outline-atomics/oa_ldset4_2.S new file mode 100644 index 00000000..58aca0b5 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset4_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 4 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset4_3.S b/llvm-generated/outline-atomics/oa_ldset4_3.S new file mode 100644 index 00000000..748405cf --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset4_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 4 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset4_4.S b/llvm-generated/outline-atomics/oa_ldset4_4.S new file mode 100644 index 00000000..62a775c9 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset4_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 4 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset4_5.S b/llvm-generated/outline-atomics/oa_ldset4_5.S new file mode 100644 index 00000000..a7a7130c --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset4_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 4 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset8_1.S b/llvm-generated/outline-atomics/oa_ldset8_1.S new file mode 100644 index 00000000..fb7efc0c --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset8_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 8 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset8_2.S b/llvm-generated/outline-atomics/oa_ldset8_2.S new file mode 100644 index 00000000..78c87fe6 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset8_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 8 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset8_3.S b/llvm-generated/outline-atomics/oa_ldset8_3.S new file mode 100644 index 00000000..2c34a22a --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset8_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 8 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset8_4.S b/llvm-generated/outline-atomics/oa_ldset8_4.S new file mode 100644 index 00000000..8f870990 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset8_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 8 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_ldset8_5.S b/llvm-generated/outline-atomics/oa_ldset8_5.S new file mode 100644 index 00000000..16f967ba --- /dev/null +++ b/llvm-generated/outline-atomics/oa_ldset8_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_ldset +#define SIZE 8 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp1_1.S b/llvm-generated/outline-atomics/oa_swp1_1.S new file mode 100644 index 00000000..64762aa5 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp1_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 1 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp1_2.S b/llvm-generated/outline-atomics/oa_swp1_2.S new file mode 100644 index 00000000..2f4e059c --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp1_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 1 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp1_3.S b/llvm-generated/outline-atomics/oa_swp1_3.S new file mode 100644 index 00000000..76afb158 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp1_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 1 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp1_4.S b/llvm-generated/outline-atomics/oa_swp1_4.S new file mode 100644 index 00000000..b13a6a5d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp1_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 1 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp1_5.S b/llvm-generated/outline-atomics/oa_swp1_5.S new file mode 100644 index 00000000..79e5c8e2 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp1_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 1 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp2_1.S b/llvm-generated/outline-atomics/oa_swp2_1.S new file mode 100644 index 00000000..4b713fd4 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp2_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 2 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp2_2.S b/llvm-generated/outline-atomics/oa_swp2_2.S new file mode 100644 index 00000000..72883474 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp2_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 2 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp2_3.S b/llvm-generated/outline-atomics/oa_swp2_3.S new file mode 100644 index 00000000..108d639e --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp2_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 2 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp2_4.S b/llvm-generated/outline-atomics/oa_swp2_4.S new file mode 100644 index 00000000..6331cf56 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp2_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 2 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp2_5.S b/llvm-generated/outline-atomics/oa_swp2_5.S new file mode 100644 index 00000000..dffa7994 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp2_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 2 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp4_1.S b/llvm-generated/outline-atomics/oa_swp4_1.S new file mode 100644 index 00000000..ecc87dff --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp4_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 4 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp4_2.S b/llvm-generated/outline-atomics/oa_swp4_2.S new file mode 100644 index 00000000..f110b51a --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp4_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 4 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp4_3.S b/llvm-generated/outline-atomics/oa_swp4_3.S new file mode 100644 index 00000000..8c20ec75 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp4_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 4 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp4_4.S b/llvm-generated/outline-atomics/oa_swp4_4.S new file mode 100644 index 00000000..9aef22f8 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp4_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 4 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp4_5.S b/llvm-generated/outline-atomics/oa_swp4_5.S new file mode 100644 index 00000000..c0ec3e77 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp4_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 4 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp8_1.S b/llvm-generated/outline-atomics/oa_swp8_1.S new file mode 100644 index 00000000..8fbddcdc --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp8_1.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 8 +#define MODEL 1 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp8_2.S b/llvm-generated/outline-atomics/oa_swp8_2.S new file mode 100644 index 00000000..acc0eff0 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp8_2.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 8 +#define MODEL 2 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp8_3.S b/llvm-generated/outline-atomics/oa_swp8_3.S new file mode 100644 index 00000000..d9291840 --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp8_3.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 8 +#define MODEL 3 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp8_4.S b/llvm-generated/outline-atomics/oa_swp8_4.S new file mode 100644 index 00000000..00b1e29d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp8_4.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 8 +#define MODEL 4 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/llvm-generated/outline-atomics/oa_swp8_5.S b/llvm-generated/outline-atomics/oa_swp8_5.S new file mode 100644 index 00000000..2a47d30d --- /dev/null +++ b/llvm-generated/outline-atomics/oa_swp8_5.S @@ -0,0 +1,21 @@ +// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// +// Upstream's CMake compiles that one file 130 times with different defines +// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A +// manifest expressing its sources as a glob cannot pass per-file defines, so +// each combination becomes a file that states its own and includes the shared +// body. The body is upstream's and unmodified. +#define L_swp +#define SIZE 8 +#define MODEL 5 +// ⚠️ `assembly.h` FIRST, BY A PATH RELATIVE TO THIS FILE. +// +// `lse.S` opens with `#include "assembly.h"`, which upstream resolves by +// compiling it with `-I` pointing at `builtins/`. This file lives elsewhere, so +// that include would not resolve and the assembler would meet `HIDDEN(...)` as +// an instruction: `error: unrecognized instruction mnemonic`. Including the +// header here, by a path relative to this file, needs no flag at all — and a +// flag is what would have to be repeated by anything else that ever includes +// this directory. +#include "../../llvm/compiler-rt/lib/builtins/assembly.h" +#include "../../llvm/compiler-rt/lib/builtins/aarch64/lse.S" diff --git a/mcpp.toml b/mcpp.toml index 960c0e72..b8d79ffb 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -96,6 +96,36 @@ std-module-flags = [ # package first, and the module fails compiling with names that # library expects the host compiler to have supplied. Measured. "--no-default-config", + # ⚠️ AND THE RUNTIME LIBRARY BACK, BECAUSE `--no-default-config` TOOK IT AND + # IT DECIDES TARGET FEATURES. + # + # The flag above exists to keep the payload's `clang++.cfg` from putting a + # host C library's headers first. It removes the whole file, and that file + # also carries `--rtlib=compiler-rt` — which on aarch64 is not a link-time + # choice but a CODEGEN one. Measured, llvm 22.1.8: + # + # --target=aarch64-…-musl -fmv +fp-armv8 +neon +v8a + # --target=aarch64-…-musl --rtlib=compiler-rt +fp-armv8 +neon + # +outline-atomics +v8a + # … --rtlib=libgcc / --rtlib=platform (as the first line) + # + # ⭐ ONLY compiler-rt ENABLES IT. `outline-atomics` needs `__aarch64_*` + # helpers at run time and clang turns the feature on exactly when the runtime + # library it was told about supplies them. + # + # The consequence was a std module built without the feature and translation + # units built with it: + # + # error: precompiled file 'std.pcm' was compiled with the target feature + # '-fmv' but the current translation unit is not + # + # ⚠️ x86_64 HAS NO SUCH FEATURE, so the two sides agreed there and the defect + # was invisible until a second architecture was built. Measured: on + # `x86_64-…-musl` both sides list nothing at all, with or without this flag. + # + # Stating it here is also the honest place for it: this package IS the + # compiler runtime it names. + "--rtlib=compiler-rt", "-nostdinc", "-nostdinc++", # libc++'s locale layer reaches for names musl declares only under this macro @@ -117,6 +147,41 @@ std-module-flags = [ # criterion the whole package exists to satisfy is the one openkal keeps # returning to --- whether an implementation has been configured FOR this # target, not whether its headers can be found. +# ⭐⭐ outline-atomics 的 125 个辅助函数,由本包供给 —— 因为本包就是那份 +# compiler-rt。 +# +# `--rtlib=compiler-rt` 让 clang 在 aarch64 上开启 `+outline-atomics`, +# 而它是对的:该特性的 `__aarch64_*` 辅助函数本来就住在 compiler-rt 里。 +# 此前本包不产出它们,于是特性被开启而没有人实现: +# +# ld.lld: error: undefined symbol: __aarch64_swp4_acq +# ld.lld: error: undefined symbol: __aarch64_cas8_acq_rel +# +# ⚠️ 引用来自 `openkal-linux/src/memory.o` 与 `openkal-musl/port/src/okm_fd.o` +# —— 两个对这件事一无所知、只是用了原子操作的包。缺的是这份运行时该有的东西。 +# +# upstream 的做法是把 `aarch64/lse.S` 编 125 遍,每遍给不同的 +# `-DL_ -DSIZE= -DMODEL=`(6 模式 × 5 尺寸 × 5 模型, +# 非 cas 的 16 字节档不存在)。一个用 glob 表达 sources 的清单传不了 +# per-file 定义 —— 于是每个组合成为一个**自己声明宏、再 include 共享正文** +# 的文件。正文是 upstream 的,未经修改,仍在原处。 +# +# ⭐ 这是把宏从**命令行**移到**文件内部**,而不是复制 125 份实现。 +[target.'cfg(arch = "aarch64")'.build] +sources = [ + "llvm-generated/outline-atomics/*.S", + # ⚠️ 并且定义那个探测变量的文件。这 125 个辅助函数每一个都读 + # `__aarch64_have_lse_atomics` —— 它在运行时决定走 LSE 指令还是 + # load/store-exclusive 循环。少了它: + # + # ld.lld: error: undefined hidden symbol: __aarch64_have_lse_atomics + # + # ⭐ 它在 `cpu_model/aarch64.c`,而 `[build]` 段的 glob 是 + # `llvm/compiler-rt/lib/builtins/*.c` —— **不含子目录**,所以这个文件 + # 从未被编过。upstream 把它列在 `aarch64_SOURCES` 里,与本节同一批。 + "llvm/compiler-rt/lib/builtins/cpu_model/aarch64.c", +] + [dependencies] openkal-musl = "0.3.3" @@ -385,7 +450,6 @@ sources = [ "!llvm/compiler-rt/lib/builtins/*xc3.c", ] - [target.'cfg(windows)'.build] # ⚠️ `-fdwarf-exceptions` WAS HERE AND IS NOT ANY MORE, for the reason the macOS # block above records: it decides what a `throw` COMPILES INTO, so it is true of From 8111a2e637e9ba9bde5641fd9d1374fdbcf70a03 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 04:00:18 +0800 Subject: [PATCH 3/9] =?UTF-8?q?fix(aarch64):=20disable=20FMV=20=E2=80=94?= =?UTF-8?q?=20half=20that=20file=20cannot=20compile=20on=20a=20macOS=20hos?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `cpu_model/aarch64.c` 的后半是函数多版本(FMV),按宿主分支 include 一个 `.inc`。Apple 那支拉系统头: aarch64/fmv/apple.inc:1:10: fatal error: 'TargetConditionals.h' file not found 而本包的 `include_dirs` 刻意不含任何来自机器的路径(见该段的 ⭐⭐ NOTHING FROM THE MACHINE)。⚠️ 本机 Linux 编得过,CI 的 macOS 那格才炸 —— 典型的「一台宿主看不见」的形状。 ⭐ 本包**不需要** FMV:要的只是 `__aarch64_have_lse_atomics`,它定义在 `#if !defined(DISABLE_AARCH64_FMV)` **之外**。upstream 自己带这个开关 (`COMPILER_RT_DISABLE_AARCH64_FMV`),所以这是走它给的门,不是绕过。 实测关掉后 aarch64 仍产出 ARM aarch64 静态 ELF,10 个 __aarch64_* 符号 已定义、0 个未定义。 --- mcpp.toml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mcpp.toml b/mcpp.toml index b8d79ffb..b8c94a24 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -181,6 +181,21 @@ sources = [ # 从未被编过。upstream 把它列在 `aarch64_SOURCES` 里,与本节同一批。 "llvm/compiler-rt/lib/builtins/cpu_model/aarch64.c", ] +# ⚠️ FMV 关掉,而它不是可选的清理 —— 那半个文件在 macOS 宿主上根本编不过。 +# +# `cpu_model/aarch64.c` 的后半是函数多版本(FMV)的实现,按宿主分支 include +# 一个 `.inc`。Apple 那支拉的是系统头: +# +# aarch64/fmv/apple.inc:1:10: fatal error: 'TargetConditionals.h' file not found +# +# 而本包的 `include_dirs` 刻意不含任何来自机器的路径 —— 见该段的 +# ⭐⭐ NOTHING FROM THE MACHINE。⚠️ 本机 Linux 上编得过,CI 的 macOS 那格才炸, +# 是典型的「一台宿主看不见」的形状。 +# +# ⭐ 而本包**不需要** FMV:要的只是 `__aarch64_have_lse_atomics`, +# 它定义在 `#if !defined(DISABLE_AARCH64_FMV)` 之外。upstream 自己也有这个 +# 开关(`COMPILER_RT_DISABLE_AARCH64_FMV`),所以这是走它给的门,不是绕过。 +cflags = ["-DDISABLE_AARCH64_FMV=1"] [dependencies] openkal-musl = "0.3.3" From da3c31119dcae1c431c3e1d26c21fce32adf5351 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 04:29:12 +0800 Subject: [PATCH 4/9] feat: std::random_device works, and it took four layers to make it so MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用者报 `_LIBCPP_HAS_RANDOM_DEVICE 0` 让 5 个 TU 编不过,本地改成 1 即修好。 ⚠️ 那个 0 不是保守设置,是当时事实的准确记录 —— 改成 1 只让编译期通过, 链接会缺符号。现在 openkal 有了随机源接口,这四层可以逐一拆掉。 **① 宏改为 1** —— 只在 `generic`;`freestanding` 保持 0,因为裸机后端 只有板子有源时才提供 `openkal.random`,而 6.1 条在链接期报告缺席。 **② `random.cpp` 曾被 sources 显式排除**,与那个宏配对。排除删掉。 **③ ⚠️ 默认后端在这里走不通,而它不会报错。** libc++ 对不认识的目标 落到 `_LIBCPP_USING_DEV_RANDOM`,那条要 `open("/dev/urandom")` —— 而能力型文件系统刻意不发绝对路径。必须在 `__config_site` 里**显式**选 `_LIBCPP_USING_GETENTROPY`:它不要描述符也不要路径。 **④ 声明找不到** —— musl 把 `getentropy` 放在 ``,glibc 放在 ``,而 libc++ 只 include 后者。修在 openkal-musl 的 overlay (见 mcpplibs/openkal-musl#6)。 ⭐ 第三层最要紧:**那条默认路径在 openkal 上走不通,而它不报错, 只会在运行期打不开设备。** 实测,完整链路全程走接口层: std::random_device → getentropy → getrandom → kal_random_fill → 后端 x86_64-linux random_device: 3415089597 356442272 differ = true x86_64-windows random_device: 1945321362 2880234856 differ = true (wine) `entropy() = 0` 是 libc++ GETENTROPY 后端的既定行为,不是缺陷。 --- llvm-generated/generic/__config_site | 17 +++++++++++++++- mcpp.toml | 29 ++++++++++++++++++++++------ 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/llvm-generated/generic/__config_site b/llvm-generated/generic/__config_site index 9d8545c0..7ee73e58 100644 --- a/llvm-generated/generic/__config_site +++ b/llvm-generated/generic/__config_site @@ -47,7 +47,22 @@ /* #undef _LIBCPP_NO_VCRUNTIME */ /* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */ #define _LIBCPP_HAS_FILESYSTEM 1 -#define _LIBCPP_HAS_RANDOM_DEVICE 0 +#define _LIBCPP_HAS_RANDOM_DEVICE 1 + +/* ⚠️ AND THE BACKEND, EXPLICITLY, BECAUSE THE DEFAULT ONE CANNOT WORK HERE. + * + * libc++ picks `_LIBCPP_USING_DEV_RANDOM` for anything it does not recognise, + * and that backend opens `/dev/urandom` by absolute path. A capability-oriented + * filesystem hands a program its roots rather than the whole namespace, so + * openkal.fs deliberately cannot open it --- the refusal is the model working. + * + * `getentropy` needs no descriptor and no path. Beneath it musl calls + * `getrandom`, which this port routes to `kal_random_fill` rather than to a + * system call, so the whole chain stays inside the interface layer: + * + * std::random_device → getentropy → getrandom → openkal.random → backend + */ +#define _LIBCPP_USING_GETENTROPY 1 #define _LIBCPP_HAS_LOCALIZATION 1 #define _LIBCPP_HAS_UNICODE 1 #define _LIBCPP_HAS_WIDE_CHARACTERS 1 diff --git a/mcpp.toml b/mcpp.toml index b8c94a24..b841cb4d 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -253,12 +253,29 @@ sources = [ # The standard library. "llvm/libcxx/src/*.cpp", - # openkal has no source of entropy and this port does not invent one, so the - # configuration sets _LIBCPP_HAS_RANDOM_DEVICE to 0 --- and the source that - # defines std::random_device must then not be compiled, which is what libc++'s - # own build does with the same switch. A program that names random_device is - # told by the linker, which is clause 6.1's report. - "!llvm/libcxx/src/random.cpp", + # ⭐ AND `random.cpp` IS BUILT, BECAUSE openkal NOW HAS A SOURCE OF ENTROPY. + # + # It used to be excluded, paired with `_LIBCPP_HAS_RANDOM_DEVICE 0`, and the + # note here said openkal had no source and this port would not invent one. + # That was accurate: a clock reading is unpredictable to a reader of the + # source and not to an adversary, and openkal.fs deliberately cannot open + # `/dev/urandom` --- a capability-oriented filesystem hands over roots rather + # than the whole namespace. + # + # ⚠️ Neither bypassing the interface layer nor inventing entropy was + # acceptable, so the layer gained an interface: `openkal.random`. The chain + # now runs entirely inside it: + # + # std::random_device → getentropy → getrandom → kal_random_fill → backend + # + # ⚠️ THE BACKEND IS SELECTED EXPLICITLY IN `__config_site`. libc++ falls back + # to `_LIBCPP_USING_DEV_RANDOM` for anything it does not recognise, and that + # one opens `/dev/urandom` by absolute path. `_LIBCPP_USING_GETENTROPY` needs + # no descriptor and no path. + # + # ⚠️ The freestanding configuration keeps the switch at 0: a bare-metal + # backend provides `openkal.random` only if its board has a source, and + # clause 6.1 reports the absence at link time rather than here. "llvm/libcxx/src/filesystem/*.cpp", "llvm/libcxx/src/ryu/*.cpp", "llvm/libcxx/src/support/runtime/*.cpp", From c17e3836468b93b3e8b3f2b604315bcc2ab2f416 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 07:40:25 +0800 Subject: [PATCH 5/9] release: 0.1.3, on openkal-musl 0.3.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `std::random_device` needs `getentropy` declared where libc++ looks for it, which is `` — glibc's layout, and the one libc++ is written against. musl declares it in ``, and openkal-musl 0.3.4 adds an overlay header that declares it in both places, as glibc does. Below that, `SYS_getrandom` is forwarded to `kal_random_fill` rather than issued as a system call, so the entropy comes through the interface layer on every system openkal has an implementation for. std::random_device → getentropy → getrandom → syscall_cp(SYS_getrandom) → port dispatch → kal_random_fill → backend 0.1.2 is the version in the index and the version this branch carried, and the content behind that number has changed: this branch also supplies the 125 outline-atomics helpers for aarch64 and stops excluding the x87 routines by operating system. --- mcpp.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mcpp.toml b/mcpp.toml index b841cb4d..7aaf6ff7 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -1,7 +1,7 @@ [package] namespace = "mcpplibs" name = "openkal-llvm-runtime" -version = "0.1.2" +version = "0.1.3" description = "LLVM's C++ runtime libraries — libc++, libc++abi and libunwind — configured for openkal-musl rather than for a host C library." license = "Apache-2.0" authors = ["mcpplibs"] @@ -198,7 +198,7 @@ sources = [ cflags = ["-DDISABLE_AARCH64_FMV=1"] [dependencies] -openkal-musl = "0.3.3" +openkal-musl = "0.3.4" [build] cxx_standard = "c++23" From 2fd63d93dadca1f6393b8484ce6db5ba9d8cadb8 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 08:03:27 +0800 Subject: [PATCH 6/9] docs: the generated files said 130 while their own arithmetic said 125 Every one of the 125 files opened with "One of the 130 instantiations", and the same comment then described a rule that yields 125. Upstream's CMake is the arbiter and agrees with the arithmetic, not the number: foreach(pat cas swp ldadd ldclr ldeor ldset) foreach(size 1 2 4 8 16) foreach(model 1 2 3 4 5) if(pat STREQUAL "cas" OR NOT size STREQUAL "16") `cas` at five sizes and five further patterns at four sizes, times five orderings: 25 + 100. The directory holds 125 files, which is what a reader would have counted if the sentence had not told them otherwise. --- llvm-generated/outline-atomics/oa_cas16_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas16_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas16_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas16_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas16_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas1_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas1_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas1_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas1_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas1_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas2_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas2_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas2_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas2_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas2_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas4_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas4_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas4_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas4_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas4_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas8_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas8_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas8_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas8_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_cas8_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd1_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd1_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd1_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd1_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd1_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd2_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd2_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd2_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd2_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd2_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd4_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd4_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd4_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd4_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd4_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd8_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd8_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd8_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd8_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldadd8_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr1_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr1_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr1_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr1_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr1_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr2_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr2_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr2_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr2_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr2_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr4_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr4_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr4_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr4_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr4_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr8_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr8_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr8_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr8_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldclr8_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor1_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor1_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor1_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor1_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor1_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor2_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor2_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor2_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor2_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor2_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor4_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor4_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor4_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor4_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor4_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor8_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor8_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor8_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor8_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldeor8_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset1_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset1_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset1_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset1_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset1_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset2_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset2_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset2_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset2_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset2_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset4_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset4_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset4_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset4_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset4_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset8_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset8_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset8_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset8_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_ldset8_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp1_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp1_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp1_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp1_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp1_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp2_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp2_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp2_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp2_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp2_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp4_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp4_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp4_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp4_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp4_5.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp8_1.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp8_2.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp8_3.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp8_4.S | 13 +++++++------ llvm-generated/outline-atomics/oa_swp8_5.S | 13 +++++++------ 125 files changed, 875 insertions(+), 750 deletions(-) diff --git a/llvm-generated/outline-atomics/oa_cas16_1.S b/llvm-generated/outline-atomics/oa_cas16_1.S index 639f14db..624c0666 100644 --- a/llvm-generated/outline-atomics/oa_cas16_1.S +++ b/llvm-generated/outline-atomics/oa_cas16_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 16 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_cas16_2.S b/llvm-generated/outline-atomics/oa_cas16_2.S index 0ecd9502..7aa59dc9 100644 --- a/llvm-generated/outline-atomics/oa_cas16_2.S +++ b/llvm-generated/outline-atomics/oa_cas16_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 16 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_cas16_3.S b/llvm-generated/outline-atomics/oa_cas16_3.S index beb3c993..4f345d67 100644 --- a/llvm-generated/outline-atomics/oa_cas16_3.S +++ b/llvm-generated/outline-atomics/oa_cas16_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 16 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_cas16_4.S b/llvm-generated/outline-atomics/oa_cas16_4.S index a7e1a735..2421ef12 100644 --- a/llvm-generated/outline-atomics/oa_cas16_4.S +++ b/llvm-generated/outline-atomics/oa_cas16_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 16 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_cas16_5.S b/llvm-generated/outline-atomics/oa_cas16_5.S index a63d5883..1ba98804 100644 --- a/llvm-generated/outline-atomics/oa_cas16_5.S +++ b/llvm-generated/outline-atomics/oa_cas16_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 16 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_cas1_1.S b/llvm-generated/outline-atomics/oa_cas1_1.S index 1508b0e0..81c7cd18 100644 --- a/llvm-generated/outline-atomics/oa_cas1_1.S +++ b/llvm-generated/outline-atomics/oa_cas1_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 1 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_cas1_2.S b/llvm-generated/outline-atomics/oa_cas1_2.S index 2f6ba6de..5d0797e5 100644 --- a/llvm-generated/outline-atomics/oa_cas1_2.S +++ b/llvm-generated/outline-atomics/oa_cas1_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 1 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_cas1_3.S b/llvm-generated/outline-atomics/oa_cas1_3.S index 7e1e1b74..a5e451d4 100644 --- a/llvm-generated/outline-atomics/oa_cas1_3.S +++ b/llvm-generated/outline-atomics/oa_cas1_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 1 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_cas1_4.S b/llvm-generated/outline-atomics/oa_cas1_4.S index 27f79544..248d0fd4 100644 --- a/llvm-generated/outline-atomics/oa_cas1_4.S +++ b/llvm-generated/outline-atomics/oa_cas1_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 1 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_cas1_5.S b/llvm-generated/outline-atomics/oa_cas1_5.S index a94a83bb..92844d7e 100644 --- a/llvm-generated/outline-atomics/oa_cas1_5.S +++ b/llvm-generated/outline-atomics/oa_cas1_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 1 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_cas2_1.S b/llvm-generated/outline-atomics/oa_cas2_1.S index c1de2bf4..861dac5a 100644 --- a/llvm-generated/outline-atomics/oa_cas2_1.S +++ b/llvm-generated/outline-atomics/oa_cas2_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 2 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_cas2_2.S b/llvm-generated/outline-atomics/oa_cas2_2.S index cdec232f..b9c5503e 100644 --- a/llvm-generated/outline-atomics/oa_cas2_2.S +++ b/llvm-generated/outline-atomics/oa_cas2_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 2 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_cas2_3.S b/llvm-generated/outline-atomics/oa_cas2_3.S index b8eb5aea..fecd5798 100644 --- a/llvm-generated/outline-atomics/oa_cas2_3.S +++ b/llvm-generated/outline-atomics/oa_cas2_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 2 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_cas2_4.S b/llvm-generated/outline-atomics/oa_cas2_4.S index 277a7b70..245bec3e 100644 --- a/llvm-generated/outline-atomics/oa_cas2_4.S +++ b/llvm-generated/outline-atomics/oa_cas2_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 2 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_cas2_5.S b/llvm-generated/outline-atomics/oa_cas2_5.S index b9da84d2..dcf3c8e3 100644 --- a/llvm-generated/outline-atomics/oa_cas2_5.S +++ b/llvm-generated/outline-atomics/oa_cas2_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 2 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_cas4_1.S b/llvm-generated/outline-atomics/oa_cas4_1.S index a5a729eb..63127cbb 100644 --- a/llvm-generated/outline-atomics/oa_cas4_1.S +++ b/llvm-generated/outline-atomics/oa_cas4_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 4 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_cas4_2.S b/llvm-generated/outline-atomics/oa_cas4_2.S index 25cb8b9a..fbe2dad8 100644 --- a/llvm-generated/outline-atomics/oa_cas4_2.S +++ b/llvm-generated/outline-atomics/oa_cas4_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 4 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_cas4_3.S b/llvm-generated/outline-atomics/oa_cas4_3.S index 2861cd88..782cf9ba 100644 --- a/llvm-generated/outline-atomics/oa_cas4_3.S +++ b/llvm-generated/outline-atomics/oa_cas4_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 4 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_cas4_4.S b/llvm-generated/outline-atomics/oa_cas4_4.S index e6ada153..f1d89bd5 100644 --- a/llvm-generated/outline-atomics/oa_cas4_4.S +++ b/llvm-generated/outline-atomics/oa_cas4_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 4 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_cas4_5.S b/llvm-generated/outline-atomics/oa_cas4_5.S index 837e18d5..e1df4454 100644 --- a/llvm-generated/outline-atomics/oa_cas4_5.S +++ b/llvm-generated/outline-atomics/oa_cas4_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 4 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_cas8_1.S b/llvm-generated/outline-atomics/oa_cas8_1.S index 8ec46ea7..835a7df4 100644 --- a/llvm-generated/outline-atomics/oa_cas8_1.S +++ b/llvm-generated/outline-atomics/oa_cas8_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 8 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_cas8_2.S b/llvm-generated/outline-atomics/oa_cas8_2.S index dda1fe9f..073b6469 100644 --- a/llvm-generated/outline-atomics/oa_cas8_2.S +++ b/llvm-generated/outline-atomics/oa_cas8_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 8 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_cas8_3.S b/llvm-generated/outline-atomics/oa_cas8_3.S index 4ddc139c..fbe543d1 100644 --- a/llvm-generated/outline-atomics/oa_cas8_3.S +++ b/llvm-generated/outline-atomics/oa_cas8_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 8 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_cas8_4.S b/llvm-generated/outline-atomics/oa_cas8_4.S index 6e91cdf5..98dc025e 100644 --- a/llvm-generated/outline-atomics/oa_cas8_4.S +++ b/llvm-generated/outline-atomics/oa_cas8_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 8 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_cas8_5.S b/llvm-generated/outline-atomics/oa_cas8_5.S index d8dc4fab..c422f9a7 100644 --- a/llvm-generated/outline-atomics/oa_cas8_5.S +++ b/llvm-generated/outline-atomics/oa_cas8_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_cas #define SIZE 8 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldadd1_1.S b/llvm-generated/outline-atomics/oa_ldadd1_1.S index 6a664617..70b62ea6 100644 --- a/llvm-generated/outline-atomics/oa_ldadd1_1.S +++ b/llvm-generated/outline-atomics/oa_ldadd1_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 1 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldadd1_2.S b/llvm-generated/outline-atomics/oa_ldadd1_2.S index c6d267de..02cb0dad 100644 --- a/llvm-generated/outline-atomics/oa_ldadd1_2.S +++ b/llvm-generated/outline-atomics/oa_ldadd1_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 1 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldadd1_3.S b/llvm-generated/outline-atomics/oa_ldadd1_3.S index 81285c93..2d2360c2 100644 --- a/llvm-generated/outline-atomics/oa_ldadd1_3.S +++ b/llvm-generated/outline-atomics/oa_ldadd1_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 1 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldadd1_4.S b/llvm-generated/outline-atomics/oa_ldadd1_4.S index fd70fe10..ad6c0e03 100644 --- a/llvm-generated/outline-atomics/oa_ldadd1_4.S +++ b/llvm-generated/outline-atomics/oa_ldadd1_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 1 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldadd1_5.S b/llvm-generated/outline-atomics/oa_ldadd1_5.S index 2dec6ee8..4cf2e56a 100644 --- a/llvm-generated/outline-atomics/oa_ldadd1_5.S +++ b/llvm-generated/outline-atomics/oa_ldadd1_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 1 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldadd2_1.S b/llvm-generated/outline-atomics/oa_ldadd2_1.S index e3ebca1a..6a6ff324 100644 --- a/llvm-generated/outline-atomics/oa_ldadd2_1.S +++ b/llvm-generated/outline-atomics/oa_ldadd2_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 2 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldadd2_2.S b/llvm-generated/outline-atomics/oa_ldadd2_2.S index 918f992d..7aa4350b 100644 --- a/llvm-generated/outline-atomics/oa_ldadd2_2.S +++ b/llvm-generated/outline-atomics/oa_ldadd2_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 2 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldadd2_3.S b/llvm-generated/outline-atomics/oa_ldadd2_3.S index 265f2c70..2f44c2e8 100644 --- a/llvm-generated/outline-atomics/oa_ldadd2_3.S +++ b/llvm-generated/outline-atomics/oa_ldadd2_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 2 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldadd2_4.S b/llvm-generated/outline-atomics/oa_ldadd2_4.S index 7d4b653f..e5fa2c16 100644 --- a/llvm-generated/outline-atomics/oa_ldadd2_4.S +++ b/llvm-generated/outline-atomics/oa_ldadd2_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 2 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldadd2_5.S b/llvm-generated/outline-atomics/oa_ldadd2_5.S index e25b6d8d..3d241266 100644 --- a/llvm-generated/outline-atomics/oa_ldadd2_5.S +++ b/llvm-generated/outline-atomics/oa_ldadd2_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 2 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldadd4_1.S b/llvm-generated/outline-atomics/oa_ldadd4_1.S index 100360ac..f851925c 100644 --- a/llvm-generated/outline-atomics/oa_ldadd4_1.S +++ b/llvm-generated/outline-atomics/oa_ldadd4_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 4 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldadd4_2.S b/llvm-generated/outline-atomics/oa_ldadd4_2.S index 75c313f7..bb6c65b0 100644 --- a/llvm-generated/outline-atomics/oa_ldadd4_2.S +++ b/llvm-generated/outline-atomics/oa_ldadd4_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 4 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldadd4_3.S b/llvm-generated/outline-atomics/oa_ldadd4_3.S index f0b7b709..959c6dba 100644 --- a/llvm-generated/outline-atomics/oa_ldadd4_3.S +++ b/llvm-generated/outline-atomics/oa_ldadd4_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 4 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldadd4_4.S b/llvm-generated/outline-atomics/oa_ldadd4_4.S index cdb6e7dd..54ba5058 100644 --- a/llvm-generated/outline-atomics/oa_ldadd4_4.S +++ b/llvm-generated/outline-atomics/oa_ldadd4_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 4 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldadd4_5.S b/llvm-generated/outline-atomics/oa_ldadd4_5.S index 7e2faa01..e2530d05 100644 --- a/llvm-generated/outline-atomics/oa_ldadd4_5.S +++ b/llvm-generated/outline-atomics/oa_ldadd4_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 4 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldadd8_1.S b/llvm-generated/outline-atomics/oa_ldadd8_1.S index 2ae4eec4..f357ae8a 100644 --- a/llvm-generated/outline-atomics/oa_ldadd8_1.S +++ b/llvm-generated/outline-atomics/oa_ldadd8_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 8 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldadd8_2.S b/llvm-generated/outline-atomics/oa_ldadd8_2.S index 56a311dd..dfaf03a4 100644 --- a/llvm-generated/outline-atomics/oa_ldadd8_2.S +++ b/llvm-generated/outline-atomics/oa_ldadd8_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 8 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldadd8_3.S b/llvm-generated/outline-atomics/oa_ldadd8_3.S index 8b08d837..7b77710c 100644 --- a/llvm-generated/outline-atomics/oa_ldadd8_3.S +++ b/llvm-generated/outline-atomics/oa_ldadd8_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 8 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldadd8_4.S b/llvm-generated/outline-atomics/oa_ldadd8_4.S index 9cbf8949..9ada3418 100644 --- a/llvm-generated/outline-atomics/oa_ldadd8_4.S +++ b/llvm-generated/outline-atomics/oa_ldadd8_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 8 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldadd8_5.S b/llvm-generated/outline-atomics/oa_ldadd8_5.S index 984258ab..130eab8d 100644 --- a/llvm-generated/outline-atomics/oa_ldadd8_5.S +++ b/llvm-generated/outline-atomics/oa_ldadd8_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldadd #define SIZE 8 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldclr1_1.S b/llvm-generated/outline-atomics/oa_ldclr1_1.S index c3bcde96..b88b5488 100644 --- a/llvm-generated/outline-atomics/oa_ldclr1_1.S +++ b/llvm-generated/outline-atomics/oa_ldclr1_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 1 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldclr1_2.S b/llvm-generated/outline-atomics/oa_ldclr1_2.S index 0f5df977..d74d4f34 100644 --- a/llvm-generated/outline-atomics/oa_ldclr1_2.S +++ b/llvm-generated/outline-atomics/oa_ldclr1_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 1 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldclr1_3.S b/llvm-generated/outline-atomics/oa_ldclr1_3.S index f58fb49b..7a645ee3 100644 --- a/llvm-generated/outline-atomics/oa_ldclr1_3.S +++ b/llvm-generated/outline-atomics/oa_ldclr1_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 1 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldclr1_4.S b/llvm-generated/outline-atomics/oa_ldclr1_4.S index 088c80cd..9545c9bd 100644 --- a/llvm-generated/outline-atomics/oa_ldclr1_4.S +++ b/llvm-generated/outline-atomics/oa_ldclr1_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 1 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldclr1_5.S b/llvm-generated/outline-atomics/oa_ldclr1_5.S index fa9d475d..a6ff6be4 100644 --- a/llvm-generated/outline-atomics/oa_ldclr1_5.S +++ b/llvm-generated/outline-atomics/oa_ldclr1_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 1 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldclr2_1.S b/llvm-generated/outline-atomics/oa_ldclr2_1.S index d31d1f52..787080bd 100644 --- a/llvm-generated/outline-atomics/oa_ldclr2_1.S +++ b/llvm-generated/outline-atomics/oa_ldclr2_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 2 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldclr2_2.S b/llvm-generated/outline-atomics/oa_ldclr2_2.S index 2cc5dbe8..bf6f278f 100644 --- a/llvm-generated/outline-atomics/oa_ldclr2_2.S +++ b/llvm-generated/outline-atomics/oa_ldclr2_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 2 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldclr2_3.S b/llvm-generated/outline-atomics/oa_ldclr2_3.S index 26f97421..222dad4c 100644 --- a/llvm-generated/outline-atomics/oa_ldclr2_3.S +++ b/llvm-generated/outline-atomics/oa_ldclr2_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 2 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldclr2_4.S b/llvm-generated/outline-atomics/oa_ldclr2_4.S index 217eb5ea..ae63a46d 100644 --- a/llvm-generated/outline-atomics/oa_ldclr2_4.S +++ b/llvm-generated/outline-atomics/oa_ldclr2_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 2 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldclr2_5.S b/llvm-generated/outline-atomics/oa_ldclr2_5.S index 7391de68..f2e21a3a 100644 --- a/llvm-generated/outline-atomics/oa_ldclr2_5.S +++ b/llvm-generated/outline-atomics/oa_ldclr2_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 2 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldclr4_1.S b/llvm-generated/outline-atomics/oa_ldclr4_1.S index a6a9ad26..c25a5f0f 100644 --- a/llvm-generated/outline-atomics/oa_ldclr4_1.S +++ b/llvm-generated/outline-atomics/oa_ldclr4_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 4 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldclr4_2.S b/llvm-generated/outline-atomics/oa_ldclr4_2.S index b388adf8..a66ad374 100644 --- a/llvm-generated/outline-atomics/oa_ldclr4_2.S +++ b/llvm-generated/outline-atomics/oa_ldclr4_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 4 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldclr4_3.S b/llvm-generated/outline-atomics/oa_ldclr4_3.S index 145792b4..9663f3c2 100644 --- a/llvm-generated/outline-atomics/oa_ldclr4_3.S +++ b/llvm-generated/outline-atomics/oa_ldclr4_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 4 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldclr4_4.S b/llvm-generated/outline-atomics/oa_ldclr4_4.S index f1268948..3ba939b0 100644 --- a/llvm-generated/outline-atomics/oa_ldclr4_4.S +++ b/llvm-generated/outline-atomics/oa_ldclr4_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 4 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldclr4_5.S b/llvm-generated/outline-atomics/oa_ldclr4_5.S index 6ea0974d..1ae66e77 100644 --- a/llvm-generated/outline-atomics/oa_ldclr4_5.S +++ b/llvm-generated/outline-atomics/oa_ldclr4_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 4 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldclr8_1.S b/llvm-generated/outline-atomics/oa_ldclr8_1.S index 466e4bd7..02d0a1eb 100644 --- a/llvm-generated/outline-atomics/oa_ldclr8_1.S +++ b/llvm-generated/outline-atomics/oa_ldclr8_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 8 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldclr8_2.S b/llvm-generated/outline-atomics/oa_ldclr8_2.S index d1fe2734..82eaf9bc 100644 --- a/llvm-generated/outline-atomics/oa_ldclr8_2.S +++ b/llvm-generated/outline-atomics/oa_ldclr8_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 8 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldclr8_3.S b/llvm-generated/outline-atomics/oa_ldclr8_3.S index 1d0749da..6d4c9056 100644 --- a/llvm-generated/outline-atomics/oa_ldclr8_3.S +++ b/llvm-generated/outline-atomics/oa_ldclr8_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 8 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldclr8_4.S b/llvm-generated/outline-atomics/oa_ldclr8_4.S index 8ef503cb..7646ca28 100644 --- a/llvm-generated/outline-atomics/oa_ldclr8_4.S +++ b/llvm-generated/outline-atomics/oa_ldclr8_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 8 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldclr8_5.S b/llvm-generated/outline-atomics/oa_ldclr8_5.S index 9b293840..879961a6 100644 --- a/llvm-generated/outline-atomics/oa_ldclr8_5.S +++ b/llvm-generated/outline-atomics/oa_ldclr8_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldclr #define SIZE 8 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldeor1_1.S b/llvm-generated/outline-atomics/oa_ldeor1_1.S index 3efbb671..ca4ac6ea 100644 --- a/llvm-generated/outline-atomics/oa_ldeor1_1.S +++ b/llvm-generated/outline-atomics/oa_ldeor1_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 1 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldeor1_2.S b/llvm-generated/outline-atomics/oa_ldeor1_2.S index 13db9118..8563617d 100644 --- a/llvm-generated/outline-atomics/oa_ldeor1_2.S +++ b/llvm-generated/outline-atomics/oa_ldeor1_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 1 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldeor1_3.S b/llvm-generated/outline-atomics/oa_ldeor1_3.S index 681a113f..4095a934 100644 --- a/llvm-generated/outline-atomics/oa_ldeor1_3.S +++ b/llvm-generated/outline-atomics/oa_ldeor1_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 1 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldeor1_4.S b/llvm-generated/outline-atomics/oa_ldeor1_4.S index 31fcf4c7..41786702 100644 --- a/llvm-generated/outline-atomics/oa_ldeor1_4.S +++ b/llvm-generated/outline-atomics/oa_ldeor1_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 1 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldeor1_5.S b/llvm-generated/outline-atomics/oa_ldeor1_5.S index 6584d288..8a9ec412 100644 --- a/llvm-generated/outline-atomics/oa_ldeor1_5.S +++ b/llvm-generated/outline-atomics/oa_ldeor1_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 1 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldeor2_1.S b/llvm-generated/outline-atomics/oa_ldeor2_1.S index 27a80b2b..eb7fae52 100644 --- a/llvm-generated/outline-atomics/oa_ldeor2_1.S +++ b/llvm-generated/outline-atomics/oa_ldeor2_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 2 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldeor2_2.S b/llvm-generated/outline-atomics/oa_ldeor2_2.S index 63b55fbb..3e135e22 100644 --- a/llvm-generated/outline-atomics/oa_ldeor2_2.S +++ b/llvm-generated/outline-atomics/oa_ldeor2_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 2 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldeor2_3.S b/llvm-generated/outline-atomics/oa_ldeor2_3.S index 1ca1a938..caf3a3fe 100644 --- a/llvm-generated/outline-atomics/oa_ldeor2_3.S +++ b/llvm-generated/outline-atomics/oa_ldeor2_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 2 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldeor2_4.S b/llvm-generated/outline-atomics/oa_ldeor2_4.S index 6dca902d..73e845e0 100644 --- a/llvm-generated/outline-atomics/oa_ldeor2_4.S +++ b/llvm-generated/outline-atomics/oa_ldeor2_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 2 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldeor2_5.S b/llvm-generated/outline-atomics/oa_ldeor2_5.S index 013b2dfd..b3802854 100644 --- a/llvm-generated/outline-atomics/oa_ldeor2_5.S +++ b/llvm-generated/outline-atomics/oa_ldeor2_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 2 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldeor4_1.S b/llvm-generated/outline-atomics/oa_ldeor4_1.S index 6f2bdaab..3b5b6e55 100644 --- a/llvm-generated/outline-atomics/oa_ldeor4_1.S +++ b/llvm-generated/outline-atomics/oa_ldeor4_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 4 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldeor4_2.S b/llvm-generated/outline-atomics/oa_ldeor4_2.S index 8499ec7f..8871dc98 100644 --- a/llvm-generated/outline-atomics/oa_ldeor4_2.S +++ b/llvm-generated/outline-atomics/oa_ldeor4_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 4 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldeor4_3.S b/llvm-generated/outline-atomics/oa_ldeor4_3.S index d7bd5373..fa5286ad 100644 --- a/llvm-generated/outline-atomics/oa_ldeor4_3.S +++ b/llvm-generated/outline-atomics/oa_ldeor4_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 4 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldeor4_4.S b/llvm-generated/outline-atomics/oa_ldeor4_4.S index 2fd6891d..3c1d5b94 100644 --- a/llvm-generated/outline-atomics/oa_ldeor4_4.S +++ b/llvm-generated/outline-atomics/oa_ldeor4_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 4 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldeor4_5.S b/llvm-generated/outline-atomics/oa_ldeor4_5.S index e3b2eeda..ffe7955a 100644 --- a/llvm-generated/outline-atomics/oa_ldeor4_5.S +++ b/llvm-generated/outline-atomics/oa_ldeor4_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 4 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldeor8_1.S b/llvm-generated/outline-atomics/oa_ldeor8_1.S index 22b3f660..8a6b081c 100644 --- a/llvm-generated/outline-atomics/oa_ldeor8_1.S +++ b/llvm-generated/outline-atomics/oa_ldeor8_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 8 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldeor8_2.S b/llvm-generated/outline-atomics/oa_ldeor8_2.S index bc9b7973..0b787bba 100644 --- a/llvm-generated/outline-atomics/oa_ldeor8_2.S +++ b/llvm-generated/outline-atomics/oa_ldeor8_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 8 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldeor8_3.S b/llvm-generated/outline-atomics/oa_ldeor8_3.S index 6a80894e..a4370346 100644 --- a/llvm-generated/outline-atomics/oa_ldeor8_3.S +++ b/llvm-generated/outline-atomics/oa_ldeor8_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 8 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldeor8_4.S b/llvm-generated/outline-atomics/oa_ldeor8_4.S index 01fcb526..679c4ce1 100644 --- a/llvm-generated/outline-atomics/oa_ldeor8_4.S +++ b/llvm-generated/outline-atomics/oa_ldeor8_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 8 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldeor8_5.S b/llvm-generated/outline-atomics/oa_ldeor8_5.S index 59212f93..8cd9d75a 100644 --- a/llvm-generated/outline-atomics/oa_ldeor8_5.S +++ b/llvm-generated/outline-atomics/oa_ldeor8_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldeor #define SIZE 8 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldset1_1.S b/llvm-generated/outline-atomics/oa_ldset1_1.S index 8714fe9e..67f5809c 100644 --- a/llvm-generated/outline-atomics/oa_ldset1_1.S +++ b/llvm-generated/outline-atomics/oa_ldset1_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 1 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldset1_2.S b/llvm-generated/outline-atomics/oa_ldset1_2.S index 1befdf31..5983380f 100644 --- a/llvm-generated/outline-atomics/oa_ldset1_2.S +++ b/llvm-generated/outline-atomics/oa_ldset1_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 1 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldset1_3.S b/llvm-generated/outline-atomics/oa_ldset1_3.S index 7ad0b321..71485dd5 100644 --- a/llvm-generated/outline-atomics/oa_ldset1_3.S +++ b/llvm-generated/outline-atomics/oa_ldset1_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 1 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldset1_4.S b/llvm-generated/outline-atomics/oa_ldset1_4.S index da8b08a9..c1ab1606 100644 --- a/llvm-generated/outline-atomics/oa_ldset1_4.S +++ b/llvm-generated/outline-atomics/oa_ldset1_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 1 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldset1_5.S b/llvm-generated/outline-atomics/oa_ldset1_5.S index 8fb0a4af..ef5778b7 100644 --- a/llvm-generated/outline-atomics/oa_ldset1_5.S +++ b/llvm-generated/outline-atomics/oa_ldset1_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 1 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldset2_1.S b/llvm-generated/outline-atomics/oa_ldset2_1.S index 6bbeff0c..5f23cf6a 100644 --- a/llvm-generated/outline-atomics/oa_ldset2_1.S +++ b/llvm-generated/outline-atomics/oa_ldset2_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 2 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldset2_2.S b/llvm-generated/outline-atomics/oa_ldset2_2.S index eef9ddc9..75719430 100644 --- a/llvm-generated/outline-atomics/oa_ldset2_2.S +++ b/llvm-generated/outline-atomics/oa_ldset2_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 2 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldset2_3.S b/llvm-generated/outline-atomics/oa_ldset2_3.S index 56b971c7..49a001e1 100644 --- a/llvm-generated/outline-atomics/oa_ldset2_3.S +++ b/llvm-generated/outline-atomics/oa_ldset2_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 2 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldset2_4.S b/llvm-generated/outline-atomics/oa_ldset2_4.S index 8efef769..ffd8fdba 100644 --- a/llvm-generated/outline-atomics/oa_ldset2_4.S +++ b/llvm-generated/outline-atomics/oa_ldset2_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 2 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldset2_5.S b/llvm-generated/outline-atomics/oa_ldset2_5.S index 598ae2a4..dc4f1c0a 100644 --- a/llvm-generated/outline-atomics/oa_ldset2_5.S +++ b/llvm-generated/outline-atomics/oa_ldset2_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 2 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldset4_1.S b/llvm-generated/outline-atomics/oa_ldset4_1.S index 45ad49a4..06c41efd 100644 --- a/llvm-generated/outline-atomics/oa_ldset4_1.S +++ b/llvm-generated/outline-atomics/oa_ldset4_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 4 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldset4_2.S b/llvm-generated/outline-atomics/oa_ldset4_2.S index 58aca0b5..e777d7c3 100644 --- a/llvm-generated/outline-atomics/oa_ldset4_2.S +++ b/llvm-generated/outline-atomics/oa_ldset4_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 4 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldset4_3.S b/llvm-generated/outline-atomics/oa_ldset4_3.S index 748405cf..c36b78a3 100644 --- a/llvm-generated/outline-atomics/oa_ldset4_3.S +++ b/llvm-generated/outline-atomics/oa_ldset4_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 4 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldset4_4.S b/llvm-generated/outline-atomics/oa_ldset4_4.S index 62a775c9..237b7715 100644 --- a/llvm-generated/outline-atomics/oa_ldset4_4.S +++ b/llvm-generated/outline-atomics/oa_ldset4_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 4 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldset4_5.S b/llvm-generated/outline-atomics/oa_ldset4_5.S index a7a7130c..b25912b7 100644 --- a/llvm-generated/outline-atomics/oa_ldset4_5.S +++ b/llvm-generated/outline-atomics/oa_ldset4_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 4 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_ldset8_1.S b/llvm-generated/outline-atomics/oa_ldset8_1.S index fb7efc0c..9258bf82 100644 --- a/llvm-generated/outline-atomics/oa_ldset8_1.S +++ b/llvm-generated/outline-atomics/oa_ldset8_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 8 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_ldset8_2.S b/llvm-generated/outline-atomics/oa_ldset8_2.S index 78c87fe6..797ba4b2 100644 --- a/llvm-generated/outline-atomics/oa_ldset8_2.S +++ b/llvm-generated/outline-atomics/oa_ldset8_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 8 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_ldset8_3.S b/llvm-generated/outline-atomics/oa_ldset8_3.S index 2c34a22a..b45500d2 100644 --- a/llvm-generated/outline-atomics/oa_ldset8_3.S +++ b/llvm-generated/outline-atomics/oa_ldset8_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 8 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_ldset8_4.S b/llvm-generated/outline-atomics/oa_ldset8_4.S index 8f870990..0a0eb298 100644 --- a/llvm-generated/outline-atomics/oa_ldset8_4.S +++ b/llvm-generated/outline-atomics/oa_ldset8_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 8 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_ldset8_5.S b/llvm-generated/outline-atomics/oa_ldset8_5.S index 16f967ba..aa304f5e 100644 --- a/llvm-generated/outline-atomics/oa_ldset8_5.S +++ b/llvm-generated/outline-atomics/oa_ldset8_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_ldset #define SIZE 8 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_swp1_1.S b/llvm-generated/outline-atomics/oa_swp1_1.S index 64762aa5..0083d3d3 100644 --- a/llvm-generated/outline-atomics/oa_swp1_1.S +++ b/llvm-generated/outline-atomics/oa_swp1_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 1 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_swp1_2.S b/llvm-generated/outline-atomics/oa_swp1_2.S index 2f4e059c..ca0b662e 100644 --- a/llvm-generated/outline-atomics/oa_swp1_2.S +++ b/llvm-generated/outline-atomics/oa_swp1_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 1 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_swp1_3.S b/llvm-generated/outline-atomics/oa_swp1_3.S index 76afb158..a47cb3d0 100644 --- a/llvm-generated/outline-atomics/oa_swp1_3.S +++ b/llvm-generated/outline-atomics/oa_swp1_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 1 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_swp1_4.S b/llvm-generated/outline-atomics/oa_swp1_4.S index b13a6a5d..aa9b7419 100644 --- a/llvm-generated/outline-atomics/oa_swp1_4.S +++ b/llvm-generated/outline-atomics/oa_swp1_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 1 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_swp1_5.S b/llvm-generated/outline-atomics/oa_swp1_5.S index 79e5c8e2..aeb51bc6 100644 --- a/llvm-generated/outline-atomics/oa_swp1_5.S +++ b/llvm-generated/outline-atomics/oa_swp1_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 1 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_swp2_1.S b/llvm-generated/outline-atomics/oa_swp2_1.S index 4b713fd4..4cf10d07 100644 --- a/llvm-generated/outline-atomics/oa_swp2_1.S +++ b/llvm-generated/outline-atomics/oa_swp2_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 2 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_swp2_2.S b/llvm-generated/outline-atomics/oa_swp2_2.S index 72883474..b81c794b 100644 --- a/llvm-generated/outline-atomics/oa_swp2_2.S +++ b/llvm-generated/outline-atomics/oa_swp2_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 2 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_swp2_3.S b/llvm-generated/outline-atomics/oa_swp2_3.S index 108d639e..3b3d8e9d 100644 --- a/llvm-generated/outline-atomics/oa_swp2_3.S +++ b/llvm-generated/outline-atomics/oa_swp2_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 2 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_swp2_4.S b/llvm-generated/outline-atomics/oa_swp2_4.S index 6331cf56..ddc0e43c 100644 --- a/llvm-generated/outline-atomics/oa_swp2_4.S +++ b/llvm-generated/outline-atomics/oa_swp2_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 2 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_swp2_5.S b/llvm-generated/outline-atomics/oa_swp2_5.S index dffa7994..9bd528f9 100644 --- a/llvm-generated/outline-atomics/oa_swp2_5.S +++ b/llvm-generated/outline-atomics/oa_swp2_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 2 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_swp4_1.S b/llvm-generated/outline-atomics/oa_swp4_1.S index ecc87dff..e78585fe 100644 --- a/llvm-generated/outline-atomics/oa_swp4_1.S +++ b/llvm-generated/outline-atomics/oa_swp4_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 4 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_swp4_2.S b/llvm-generated/outline-atomics/oa_swp4_2.S index f110b51a..f6d88ccf 100644 --- a/llvm-generated/outline-atomics/oa_swp4_2.S +++ b/llvm-generated/outline-atomics/oa_swp4_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 4 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_swp4_3.S b/llvm-generated/outline-atomics/oa_swp4_3.S index 8c20ec75..e91fb277 100644 --- a/llvm-generated/outline-atomics/oa_swp4_3.S +++ b/llvm-generated/outline-atomics/oa_swp4_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 4 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_swp4_4.S b/llvm-generated/outline-atomics/oa_swp4_4.S index 9aef22f8..7b6c2f1f 100644 --- a/llvm-generated/outline-atomics/oa_swp4_4.S +++ b/llvm-generated/outline-atomics/oa_swp4_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 4 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_swp4_5.S b/llvm-generated/outline-atomics/oa_swp4_5.S index c0ec3e77..e714316b 100644 --- a/llvm-generated/outline-atomics/oa_swp4_5.S +++ b/llvm-generated/outline-atomics/oa_swp4_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 4 #define MODEL 5 diff --git a/llvm-generated/outline-atomics/oa_swp8_1.S b/llvm-generated/outline-atomics/oa_swp8_1.S index 8fbddcdc..7d245e08 100644 --- a/llvm-generated/outline-atomics/oa_swp8_1.S +++ b/llvm-generated/outline-atomics/oa_swp8_1.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 8 #define MODEL 1 diff --git a/llvm-generated/outline-atomics/oa_swp8_2.S b/llvm-generated/outline-atomics/oa_swp8_2.S index acc0eff0..3bfe3386 100644 --- a/llvm-generated/outline-atomics/oa_swp8_2.S +++ b/llvm-generated/outline-atomics/oa_swp8_2.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 8 #define MODEL 2 diff --git a/llvm-generated/outline-atomics/oa_swp8_3.S b/llvm-generated/outline-atomics/oa_swp8_3.S index d9291840..0aded96c 100644 --- a/llvm-generated/outline-atomics/oa_swp8_3.S +++ b/llvm-generated/outline-atomics/oa_swp8_3.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 8 #define MODEL 3 diff --git a/llvm-generated/outline-atomics/oa_swp8_4.S b/llvm-generated/outline-atomics/oa_swp8_4.S index 00b1e29d..f9a76757 100644 --- a/llvm-generated/outline-atomics/oa_swp8_4.S +++ b/llvm-generated/outline-atomics/oa_swp8_4.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 8 #define MODEL 4 diff --git a/llvm-generated/outline-atomics/oa_swp8_5.S b/llvm-generated/outline-atomics/oa_swp8_5.S index 2a47d30d..bd719921 100644 --- a/llvm-generated/outline-atomics/oa_swp8_5.S +++ b/llvm-generated/outline-atomics/oa_swp8_5.S @@ -1,10 +1,11 @@ -// Generated. One of the 130 instantiations of compiler-rt's `aarch64/lse.S`. +// Generated. One of the 125 instantiations of compiler-rt's `aarch64/lse.S`. // -// Upstream's CMake compiles that one file 130 times with different defines -// (6 patterns x 5 sizes x 5 models, minus the non-cas 16-byte cases). A -// manifest expressing its sources as a glob cannot pass per-file defines, so -// each combination becomes a file that states its own and includes the shared -// body. The body is upstream's and unmodified. +// Upstream's CMake compiles that one file once per combination of pattern, +// size and memory ordering: `cas` at all five sizes, and five further patterns +// at four sizes each, times five orderings --- 25 + 100. A manifest expressing +// its sources as a glob cannot pass per-file defines, so each combination +// becomes a file that states its own and includes the shared body. The body is +// upstream's and unmodified. #define L_swp #define SIZE 8 #define MODEL 5 From 7ed9d01d77e2d7b7888ad838165a47497a1a0945 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 08:10:41 +0800 Subject: [PATCH 7/9] fix(freestanding): random.cpp must not be compiled where the switch is off MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removing the `!llvm/libcxx/src/random.cpp` exclusion was right for the hosted configuration, which turned `_LIBCPP_HAS_RANDOM_DEVICE` on. The freestanding configuration keeps it at 0 — a bare-metal backend provides `openkal.random` only if its board has a source, and clause 6.1 reports that absence at link time rather than at compile time — and the same removal reached it. With the switch off, `` does not declare the class while `src/random.cpp` defines its members unconditionally; that file carries no guard of its own, unlike the filesystem sources beside it: llvm/libcxx/src/random.cpp:68:1: error: use of undeclared identifier 'random_device' ⚠️ One exclusion, two decisions. The hosted block and the freestanding block disagree about the switch, so they cannot share the removal — and the comment in the hosted block already stated the freestanding position without acting on it. --- mcpp.toml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mcpp.toml b/mcpp.toml index 7aaf6ff7..e7782389 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -629,6 +629,24 @@ ldflags = ["-Wl,--eh-frame-hdr"] # two halves of an initialisation array that a linker script places here. sources = [ "!llvm/libcxx/src/filesystem/*.cpp", + + # ⭐ AND `random.cpp`, FOR THE SAME REASON AND BY THE SAME RULE. + # + # This configuration keeps `_LIBCPP_HAS_RANDOM_DEVICE` at 0 --- a bare-metal + # backend provides `openkal.random` only if its board has a source, and + # clause 6.1 reports that absence at link time rather than here. With the + # switch off, `` does not declare the class, while `src/random.cpp` + # defines its members unconditionally --- the file carries no guard of its + # own, unlike the filesystem sources: + # + # llvm/libcxx/src/random.cpp:68:1: + # error: use of undeclared identifier 'random_device' + # + # ⚠️ The exclusion was removed together with the hosted one when openkal + # gained an entropy source, and the two are not the same decision: the + # hosted configuration turned the switch ON, and this one did not. + "!llvm/libcxx/src/random.cpp", + "llvm/compiler-rt/lib/builtins/*.c", "!llvm/compiler-rt/lib/builtins/atomic*.c", "!llvm/compiler-rt/lib/builtins/clear_cache.c", From 4667ca84c1e68e0e9fcb79172e357e530096bb88 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 09:20:51 +0800 Subject: [PATCH 8/9] deps: openkal-musl 0.3.5 0.3.4's syscall dispatcher referenced `kal_random_fill` strongly, which made an optional interface mandatory: this package's freestanding target links a program over openkal-opensbi, which does not provide `openkal.random`, and the link failed on a symbol nothing in the program asked for. ld.lld: error: undefined symbol: kal_random_fill --- mcpp.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcpp.toml b/mcpp.toml index e7782389..74812965 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -198,7 +198,7 @@ sources = [ cflags = ["-DDISABLE_AARCH64_FMV=1"] [dependencies] -openkal-musl = "0.3.4" +openkal-musl = "0.3.5" [build] cxx_standard = "c++23" From 99c1cae89f9ab37ec336987fb3f139c70a4d32ce Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Tue, 25 Aug 2026 09:28:10 +0800 Subject: [PATCH 9/9] docs: the freestanding switch refuses at compile time, not at link time The note said clause 6.1 would report the absence at link time. It does not: with `_LIBCPP_HAS_RANDOM_DEVICE` at 0, `` does not declare the class, so a bare-metal program naming `std::random_device` is refused where it is written. __random/random_device.h:24: #if _LIBCPP_HAS_RANDOM_DEVICE __random/random_device.h:26: class random_device { That is the better of the two diagnoses and it is the one that happens; what was wrong was the account of it. The reason mattered because the same sentence was the argument for keeping the switch off, and an argument resting on a mechanism that does not apply is one nobody can check. Also records what the switch cannot express: a board with a hardware source could have a backend that provides `openkal.random`, and this answer would still be 0. The configuration is generated once, before any graph is resolved. --- mcpp.toml | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/mcpp.toml b/mcpp.toml index 74812965..9bcdc470 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -273,9 +273,25 @@ sources = [ # one opens `/dev/urandom` by absolute path. `_LIBCPP_USING_GETENTROPY` needs # no descriptor and no path. # - # ⚠️ The freestanding configuration keeps the switch at 0: a bare-metal - # backend provides `openkal.random` only if its board has a source, and - # clause 6.1 reports the absence at link time rather than here. + # ⚠️ THE FREESTANDING CONFIGURATION KEEPS THE SWITCH AT 0, AND WHAT THAT + # MEANS IS NOT WHAT AN EARLIER VERSION OF THIS NOTE SAID. + # + # It said clause 6.1 would report the absence at link time. It does not: + # with the switch off, `` does not declare the class at all --- + # + # __random/random_device.h:24: #if _LIBCPP_HAS_RANDOM_DEVICE + # __random/random_device.h:26: class random_device { + # + # --- so a bare-metal program naming `std::random_device` is refused where + # it is written, beside `_LIBCPP_HAS_FILESYSTEM 0` and for the same reason. + # That is the better diagnosis of the two, and it is the one that happens. + # + # ⚠️ It is also a STATIC answer to a fact that varies. A board with a + # hardware source could have a backend that provides `openkal.random`, and + # this switch would still be 0. Deciding it per backend needs a signal this + # package does not have --- the configuration is generated once, before any + # graph is resolved. Recorded rather than solved; the first board that wants + # it is the case that should reopen this. "llvm/libcxx/src/filesystem/*.cpp", "llvm/libcxx/src/ryu/*.cpp", "llvm/libcxx/src/support/runtime/*.cpp",