[llvm] [SystemZ] Don't lower float/double ATOMIC_[LOAD|STORE] to [LOAD|STORE] (PR #75879)

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 19 07:50:54 PST 2023


================
@@ -1,12 +1,11 @@
-; Test float atomic loads.
+; Test float atomic stores.
 ;
 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
 
 define void @f1(ptr %src, float %val) {
 ; CHECK-LABEL: f1:
-; CHECK: lgdr [[R:%r[0-9]+]], %f0
-; CHECK: srlg [[R]], [[R]], 32
-; CHECK: st [[R]], 0(%r2)
+; CHECK: ste %f0, 0(%r2)
+; CHECK: bcr 15, %r0
----------------
JonPsson1 wrote:

Yes, the CHECK for bcr 15 was missing before - sorry should have mentioned that.

For the long double tests, see https://github.com/llvm/llvm-project/pull/75630#issuecomment-1861290278. I think the way the tests were written the output would actually be the same for z10/z13...


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


More information about the llvm-commits mailing list