1ce8b85c0SKang Zhang; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2ce8b85c0SKang Zhang; RUN: llc -mtriple=powerpc64le-linux-gnu < %s | FileCheck %s -check-prefix=PPC64LE
3ce8b85c0SKang Zhang
4ce8b85c0SKang Zhangdefine void @test(i8* %ptr, i8 %cmp, i8 %val) {
5ce8b85c0SKang Zhang; PPC64LE-LABEL: test:
6ce8b85c0SKang Zhang; PPC64LE:       # %bb.0:
7*513976dfSKang Zhang; PPC64LE-NEXT:    clrlwi 4, 4, 24
88633ef0fSKang Zhang; PPC64LE-NEXT:  .LBB0_1:
9ce8b85c0SKang Zhang; PPC64LE-NEXT:    lbarx 6, 0, 3
10ce8b85c0SKang Zhang; PPC64LE-NEXT:    cmpw 4, 6
11ce8b85c0SKang Zhang; PPC64LE-NEXT:    bne 0, .LBB0_3
128633ef0fSKang Zhang; PPC64LE-NEXT:  # %bb.2:
13ce8b85c0SKang Zhang; PPC64LE-NEXT:    stbcx. 5, 0, 3
14ce8b85c0SKang Zhang; PPC64LE-NEXT:    beqlr 0
15ce8b85c0SKang Zhang; PPC64LE-NEXT:    b .LBB0_1
16ce8b85c0SKang Zhang; PPC64LE-NEXT:  .LBB0_3:
17ce8b85c0SKang Zhang; PPC64LE-NEXT:    stbcx. 6, 0, 3
18ce8b85c0SKang Zhang; PPC64LE-NEXT:    blr
19ce8b85c0SKang Zhang  %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val monotonic monotonic
20ce8b85c0SKang Zhang  ret void
21ce8b85c0SKang Zhang}
22