[llvm] [AArch64] Add support for 16/32/64-bit floating-point atomic read-modify-write ops (PR #125686)

via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 4 07:03:20 PST 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {darker}-->


:warning: Python code formatter, darker found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
darker --check --diff -r dcb7a695004c49aaef02c3171343864870009961...80e63d28eae082381e2991a958a2626a09b8189e llvm/test/CodeGen/AArch64/Atomics/generate-tests.py
``````````

</details>

<details>
<summary>
View the diff from darker here.
</summary>

``````````diff
--- generate-tests.py	2025-02-04 14:56:06.000000 +0000
+++ generate-tests.py	2025-02-04 15:02:42.129908 +0000
@@ -163,10 +163,11 @@
     "fadd",
     "fsub",
     "fmax",
     "fmin",
 ]
+
 
 def all_atomicrmw(f, datatype, atomicrmw_ops):
     for op in atomicrmw_ops:
         for aligned in Aligned:
             for ty in datatype:
@@ -307,18 +308,18 @@
 
         for feat in Feature:
             with open(f"{triple}-atomicrmw-{feat.name}.ll", "w") as f:
                 filter_args = r'--filter-out "\b(sp)\b" --filter "^\s*(ld[^r]|st[^r]|swp|cas|bl|add|and|eor|orn|orr|sub|mvn|sxt|cmp|ccmp|csel|dmb)"'
                 header(f, triple, [feat], filter_args)
-                if (feat != Feature.lsfe):
-                   all_atomicrmw(f, Type, ATOMICRMW_OPS)
+                if feat != Feature.lsfe:
+                    all_atomicrmw(f, Type, ATOMICRMW_OPS)
                 else:
-                   all_atomicrmw(f, FPType, FP_ATOMICRMW_OPS)
+                    all_atomicrmw(f, FPType, FP_ATOMICRMW_OPS)
 
             # Floating point atomics only supported for atomicrmw currently
-            if (feat == Feature.lsfe):
-                continue;
+            if feat == Feature.lsfe:
+                continue
 
             with open(f"{triple}-cmpxchg-{feat.name}.ll", "w") as f:
                 filter_args = r'--filter-out "\b(sp)\b" --filter "^\s*(ld[^r]|st[^r]|swp|cas|bl|add|and|eor|orn|orr|sub|mvn|sxt|cmp|ccmp|csel|dmb)"'
                 header(f, triple, [feat], filter_args)
                 all_cmpxchg(f)

``````````

</details>


https://github.com/llvm/llvm-project/pull/125686


More information about the llvm-commits mailing list