# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=aarch64-- -mattr=+lse -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s

--- |
  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"

  define void @cmpxchg_i8(i8* %addr) { ret void }
  define void @cmpxchg_i16(i16* %addr) { ret void }
  define void @cmpxchg_i32(i32* %addr) { ret void }
  define void @cmpxchg_i64(i64* %addr) { ret void }
...

---
name:            cmpxchg_i8
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: cmpxchg_i8
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[CST:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; CHECK: [[CST2:%[0-9]+]]:_(s8) = G_TRUNC [[CST]]
    ; CHECK: [[RES:%[0-9]+]]:_(s8) = G_ATOMICRMW_ADD [[COPY]](p0), [[CST2]] :: (load store monotonic 1 on %ir.addr)
    ; CHECK: [[RES2:%[0-9]+]]:_(s32) = G_ANYEXT [[RES]]
    ; CHECK: $w0 = COPY [[RES2]]
    %0:_(p0) = COPY $x0
    %1:_(s8) = G_CONSTANT i8 1
    %2:_(s8) = G_ATOMICRMW_ADD %0, %1 :: (load store monotonic 1 on %ir.addr)
    %3:_(s32) = G_ANYEXT %2
    $w0 = COPY %3(s32)
...

---
name:            cmpxchg_i16
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: cmpxchg_i16
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[CST:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; CHECK: [[CST2:%[0-9]+]]:_(s16) = G_TRUNC [[CST]]
    ; CHECK: [[RES:%[0-9]+]]:_(s16) = G_ATOMICRMW_ADD [[COPY]](p0), [[CST2]] :: (load store monotonic 2 on %ir.addr)
    ; CHECK: [[RES2:%[0-9]+]]:_(s32) = G_ANYEXT [[RES]]
    ; CHECK: $w0 = COPY [[RES2]]
    %0:_(p0) = COPY $x0
    %1:_(s16) = G_CONSTANT i16 1
    %2:_(s16) = G_ATOMICRMW_ADD %0, %1 :: (load store monotonic 2 on %ir.addr)
    %3:_(s32) = G_ANYEXT %2
    $w0 = COPY %3(s32)
...

---
name:            cmpxchg_i32
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: cmpxchg_i32
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[CST:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; CHECK: [[RES:%[0-9]+]]:_(s32) = G_ATOMICRMW_ADD [[COPY]](p0), [[CST]] :: (load store monotonic 4 on %ir.addr)
    ; CHECK: $w0 = COPY [[RES]]
    %0:_(p0) = COPY $x0
    %1:_(s32) = G_CONSTANT i32 1
    %2:_(s32) = G_ATOMICRMW_ADD %0, %1 :: (load store monotonic 4 on %ir.addr)
    $w0 = COPY %2(s32)
...

---
name:            cmpxchg_i64
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: cmpxchg_i64
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[CST:%[0-9]+]]:_(s64) = G_CONSTANT i64 1
    ; CHECK: [[RES:%[0-9]+]]:_(s64) = G_ATOMICRMW_ADD [[COPY]](p0), [[CST]] :: (load store monotonic 8 on %ir.addr)
    ; CHECK: $x0 = COPY [[RES]]
    %0:_(p0) = COPY $x0
    %1:_(s64) = G_CONSTANT i64 1
    %2:_(s64) = G_ATOMICRMW_ADD %0, %1 :: (load store monotonic 8 on %ir.addr)
    $x0 = COPY %2(s64)
...
