[clang] [llvm] Add AMO load with Compare and Swap Not Equal (PR #178061)

via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 6 11:48:28 PST 2026


================
@@ -112,9 +112,99 @@ entry:
   ret void
 }
 
+define void @test_lwat_csne(ptr noundef %ptr, i32 noundef %value1, i32 noundef %value2, ptr nocapture %resp) {
+; CHECK-LABEL: test_lwat_csne:
+; CHECK:       # %bb.0: # %entry
+; CHECK-NEXT:    mflr r0
+; CHECK-NEXT:    .cfi_def_cfa_offset 48
+; CHECK-NEXT:    .cfi_offset lr, 16
+; CHECK-NEXT:    .cfi_offset r30, -16
+; CHECK-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
+; CHECK-NEXT:    stdu r1, -48(r1)
+; CHECK-NEXT:    mr r30, r6
+; CHECK-NEXT:    mr r6, r3
+; CHECK-NEXT:    clrldi r4, r4, 32
+; CHECK-NEXT:    clrldi r5, r5, 32
+; CHECK-NEXT:    li r3, 0
----------------
RolandF77 wrote:

I meant the li r3, 0. This isn't needed to execute correctly so we should get rid of it.

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


More information about the cfe-commits mailing list