# RUN: llc -mtriple=aarch64-linux-gnu -verify-machineinstrs -run-pass=aarch64-ldst-opt %s -o - | FileCheck %s
#
# When the AArch64 Load Store Optimization pass tries to convert load instructions
# into a ldp instruction, and when the base register of the second ldr instruction
# has been modified in between these two ldr instructions, the conversion should not
# occur.
#
# For example, for the following pattern:
#     ldr x9 [x10]
#     ldr x10 [x8]
#     ldr x10 [x10, 8],
# the first and third ldr instructions cannot be converted to ldp x9, x10, [x10].
#
# CHECK-LABEL: name: ldr-modified-baseReg-no-ldp1
# CHECK-NOT: LDP
# CHECK: $x9 = LDRXui $x10, 1 :: (load (s64))
# CHECK: $x10 = LDURXi $x8, 1 :: (load (s64))
# CHECK: $x10 = LDRXui $x10, 0 :: (load (s64))
# CHECK: RET
---
name: ldr-modified-baseReg-no-ldp1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x8, $x10

    $x9 = LDRXui $x10, 1 :: (load (s64))
    $x10 = LDURXi $x8, 1 :: (load (s64))
    $x10 = LDRXui $x10, 0 :: (load (s64))
    RET undef $lr, implicit undef $w0
...

# CHECK-LABEL: name: str-modified-baseReg-no-stp1
# CHECK-NOT: STP
# CHECK: STRXui $x9, $x10, 1 :: (store (s64))
# CHECK: $x10 = LDRXui $x8, 0 :: (load (s64))
# CHECK: STRXui $x10, $x10, 0 :: (store (s64))
# CHECK: RET
---
name: str-modified-baseReg-no-stp1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x9, $x8, $x10

    STRXui $x9, $x10, 1 :: (store (s64))
    $x10 = LDRXui $x8, 0 :: (load (s64))
    STRXui $x10, $x10, 0 :: (store (s64))
    RET undef $lr, implicit undef $w0
...

# CHECK-LABEL: name: ldr-modified-baseReg-no-ldp2
# CHECK-NOT: LDP
# CHECK: $x9 = LDRXui $x10, 1 :: (load (s64))
# CHECK: $x10 = MOVi64imm 13
# CHECK: $x11 = LDRXui $x10, 0 :: (load (s64))
# CHECK: RET
---
name: ldr-modified-baseReg-no-ldp2
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x8, $x10

    $x9 = LDRXui $x10, 1 :: (load (s64))
    $x10 = MOVi64imm 13
    $x11 = LDRXui $x10, 0 :: (load (s64))
    RET undef $lr, implicit undef $w0
...

# CHECK-LABEL: name: ldr-modified-baseReg-no-ldp3
# CHECK-NOT: LDP
# CHECK: $x9 = LDRXui $x10, 1 :: (load (s64))
# CHECK: $x10 = ADDXri $x8, $x11, 0
# CHECK: $x12 = LDRXui $x10, 0 :: (load (s64))
# CHECK: RET
---
name: ldr-modified-baseReg-no-ldp3
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x8, $x10, $x11

    $x9 = LDRXui $x10, 1 :: (load (s64))
    $x10 = ADDXri $x8, $x11, 0
    $x12 = LDRXui $x10, 0 :: (load (s64))
    RET undef $lr, implicit undef $w0
...

# CHECK-LABEL: name: ldr-modified-baseAddr-convert-to-ldp
# CHECK: $x12, $x9 = LDPXi $x10, 0 :: (load (s64))
# CHECK: STRXui $x11, $x10, 1 :: (store (s64))
# CHECK: RET
---
name: ldr-modified-baseAddr-convert-to-ldp
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x8, $x10, $x11

    $x9 = LDRXui $x10, 1 :: (load (s64))
    STRXui $x11, $x10, 1 :: (store (s64))
    $x12 = LDRXui $x10, 0 :: (load (s64))
    RET undef $lr, implicit undef $w0
...
