1; RUN: llc < %s -mtriple=sparc -mattr=fix-tn0011,hasleoncasa | FileCheck %s 2 3; CHECK: .p2align 4 4; CHECK-NEXT: casa 5define i32 @test_casarr(i32* %p, i32 %v) { 6entry: 7 %0 = atomicrmw nand i32* %p, i32 %v seq_cst 8 ret i32 %0 9} 10 11; CHECK: .p2align 4 12; CHECK-NEXT: swap 13define i32 @test_swaprr(i32* %p, i32 %v) { 14entry: 15 %0 = atomicrmw xchg i32* %p, i32 %v seq_cst 16 ret i32 %0 17} 18 19; CHECK: .p2align 4 20; CHECK-NEXT: swap 21define i32 @test_swapri(i32* %p, i32 %v) { 22entry: 23 %1 = getelementptr inbounds i32, ptr %p, i32 1 24 %2 = atomicrmw xchg ptr %1, i32 %v seq_cst, align 4 25 ret i32 %2 26} 27