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

--- |

    @x = external hidden local_unnamed_addr global i32*, align 8

    define void @select_add_low_without_offset() { ret void }
    define void @select_add_low_with_offset() { ret void }
    define void @select_add_low_without_adrp() { ret void }

...
---
name:            select_add_low_without_offset
legalized:       true
regBankSelected: true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: select_add_low_without_offset
    ; CHECK: liveins: $x0
    ; CHECK: %add_low:gpr64common = MOVaddr target-flags(aarch64-page) @x, target-flags(aarch64-pageoff, aarch64-nc) @x
    ; CHECK: $x0 = COPY %add_low
    ; CHECK: RET_ReallyLR implicit $x0
    %copy:gpr(p0) = COPY $x0
    %adrp:gpr64(p0) = ADRP target-flags(aarch64-page) @x
    %add_low:gpr(p0) = G_ADD_LOW %adrp(p0), target-flags(aarch64-pageoff, aarch64-nc) @x
    $x0 = COPY %add_low
    RET_ReallyLR implicit $x0

...
---
name:            select_add_low_with_offset
legalized:       true
regBankSelected: true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: select_add_low_with_offset
    ; CHECK: liveins: $x0
    ; CHECK: %add_low:gpr64common = MOVaddr target-flags(aarch64-page) @x + 1, target-flags(aarch64-pageoff, aarch64-nc) @x + 1
    ; CHECK: $x0 = COPY %add_low
    ; CHECK: RET_ReallyLR implicit $x0
    %copy:gpr(p0) = COPY $x0
    %adrp:gpr64(p0) = ADRP target-flags(aarch64-page) @x + 1
    %add_low:gpr(p0) = G_ADD_LOW %adrp(p0), target-flags(aarch64-pageoff, aarch64-nc) @x + 1
    $x0 = COPY %add_low
    RET_ReallyLR implicit $x0

...
---
name:            select_add_low_without_adrp
legalized:       true
regBankSelected: true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: select_add_low_without_adrp
    ; CHECK: liveins: $x0
    ; CHECK: %ptr:gpr64sp = COPY $x0
    ; CHECK: %add_low:gpr64sp = ADDXri %ptr, target-flags(aarch64-pageoff, aarch64-nc) @x, 0
    ; CHECK: $x0 = COPY %add_low
    ; CHECK: RET_ReallyLR implicit $x0
    %ptr:gpr(p0) = COPY $x0
    %add_low:gpr(p0) = G_ADD_LOW %ptr(p0), target-flags(aarch64-pageoff, aarch64-nc) @x
    $x0 = COPY %add_low
    RET_ReallyLR implicit $x0
