# RUN: llc -mtriple=aarch64 -mattr=+mte -run-pass=prologepilog %s -o - | FileCheck %s

--- |
  declare void @llvm.aarch64.settag(i8* nocapture writeonly, i64) argmemonly nounwind writeonly "target-features"="+mte"
  define i32 @stg16_16_16_16_ret() "target-features"="+mte" {
  entry:
    %a = alloca i8, i32 16, align 16
    %b = alloca i8, i32 16, align 16
    %c = alloca i8, i32 16, align 16
    %d = alloca i8, i32 16, align 16
    call void @llvm.aarch64.settag(i8* %a, i64 16)
    call void @llvm.aarch64.settag(i8* %b, i64 16)
    call void @llvm.aarch64.settag(i8* %c, i64 16)
    call void @llvm.aarch64.settag(i8* %d, i64 16)
    ret i32 0
  }

  define void @stg16_store_128() "target-features"="+mte" {
  entry:
    %a = alloca i8, i32 16, align 16
    %b = alloca i8, i32 128, align 16
    call void @llvm.aarch64.settag(i8* %a, i64 16)
    store i8 42, i8* %a
    call void @llvm.aarch64.settag(i8* %b, i64 128)
    ret void
  }

...
---
# A sequence of STG with a register copy in the middle.
# Can be merged into ST2G + ST2G.
# CHECK-LABEL: name:{{.*}}stg16_16_16_16_ret
# CHECK-DAG: ST2GOffset $sp, $sp, 2
# CHECK-DAG: ST2GOffset $sp, $sp, 0
# CHECK-DAG: $w0 = COPY $wzr
# CHECK-DAG: RET_ReallyLR implicit killed $w0

name:            stg16_16_16_16_ret
tracksRegLiveness: true
stack:
  - { id: 0, name: a, size: 16, alignment: 16 }
  - { id: 1, name: b, size: 16, alignment: 16 }
  - { id: 2, name: c, size: 16, alignment: 16 }
  - { id: 3, name: d, size: 16, alignment: 16 }
body:             |
  bb.0.entry:
    STGOffset $sp, %stack.0.a, 0 :: (store 16 into %ir.a)
    STGOffset $sp, %stack.1.b, 0 :: (store 16 into %ir.b)
    STGOffset $sp, %stack.2.c, 0 :: (store 16 into %ir.c)
    $w0 = COPY $wzr
    STGOffset $sp, %stack.3.d, 0 :: (store 16 into %ir.d)
    RET_ReallyLR implicit killed $w0

...

---
# A store in the middle prevents merging.
# CHECK-LABEL: name:{{.*}}stg16_store_128
# CHECK: ST2GOffset $sp, $sp, 2
# CHECK: ST2GOffset $sp, $sp, 4
# CHECK: ST2GOffset $sp, $sp, 6
# CHECK: STGOffset  $sp, $sp, 8
# CHECK: STRBBui
# CHECK: ST2GOffset $sp, $sp, 0 
# CHECK: RET_ReallyLR

name:            stg16_store_128
tracksRegLiveness: true
stack:
  - { id: 0, name: a, size: 16, alignment: 16 }
  - { id: 1, name: b, size: 128, alignment: 16 }
body:             |
  bb.0.entry:
    STGOffset $sp, %stack.0.a, 0 :: (store 16 into %ir.a)
    renamable $w8 = MOVi32imm 42
    ST2GOffset $sp, %stack.1.b, 6 :: (store 32 into %ir.b + 96, align 16)
    ST2GOffset $sp, %stack.1.b, 4 :: (store 32 into %ir.b + 64, align 16)
    ST2GOffset $sp, %stack.1.b, 2 :: (store 32 into %ir.b + 32, align 16)
    STRBBui killed renamable $w8, %stack.0.a, 0 :: (store 1 into %ir.a, align 16)
    ST2GOffset $sp, %stack.1.b, 0 :: (store 32 into %ir.b, align 16)
    RET_ReallyLR

...
