[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / select-add-low.mir
blobe29568698f8b26dfe6673692e4ed3d65911ad366
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=aarch64 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
4 --- |
6     @x = external hidden local_unnamed_addr global i32*, align 8
8     define void @select_add_low_without_offset() { ret void }
9     define void @select_add_low_with_offset() { ret void }
10     define void @select_add_low_without_adrp() { ret void }
12 ...
13 ---
14 name:            select_add_low_without_offset
15 legalized:       true
16 regBankSelected: true
17 tracksRegLiveness: true
18 body:             |
19   bb.0:
20     liveins: $x0
21     ; CHECK-LABEL: name: select_add_low_without_offset
22     ; CHECK: liveins: $x0
23     ; CHECK: %add_low:gpr64common = MOVaddr target-flags(aarch64-page) @x, target-flags(aarch64-pageoff, aarch64-nc) @x
24     ; CHECK: $x0 = COPY %add_low
25     ; CHECK: RET_ReallyLR implicit $x0
26     %copy:gpr(p0) = COPY $x0
27     %adrp:gpr64(p0) = ADRP target-flags(aarch64-page) @x
28     %add_low:gpr(p0) = G_ADD_LOW %adrp(p0), target-flags(aarch64-pageoff, aarch64-nc) @x
29     $x0 = COPY %add_low
30     RET_ReallyLR implicit $x0
32 ...
33 ---
34 name:            select_add_low_with_offset
35 legalized:       true
36 regBankSelected: true
37 tracksRegLiveness: true
38 body:             |
39   bb.0:
40     liveins: $x0
41     ; CHECK-LABEL: name: select_add_low_with_offset
42     ; CHECK: liveins: $x0
43     ; CHECK: %add_low:gpr64common = MOVaddr target-flags(aarch64-page) @x + 1, target-flags(aarch64-pageoff, aarch64-nc) @x + 1
44     ; CHECK: $x0 = COPY %add_low
45     ; CHECK: RET_ReallyLR implicit $x0
46     %copy:gpr(p0) = COPY $x0
47     %adrp:gpr64(p0) = ADRP target-flags(aarch64-page) @x + 1
48     %add_low:gpr(p0) = G_ADD_LOW %adrp(p0), target-flags(aarch64-pageoff, aarch64-nc) @x + 1
49     $x0 = COPY %add_low
50     RET_ReallyLR implicit $x0
52 ...
53 ---
54 name:            select_add_low_without_adrp
55 legalized:       true
56 regBankSelected: true
57 tracksRegLiveness: true
58 body:             |
59   bb.0:
60     liveins: $x0
61     ; CHECK-LABEL: name: select_add_low_without_adrp
62     ; CHECK: liveins: $x0
63     ; CHECK: %ptr:gpr64sp = COPY $x0
64     ; CHECK: %add_low:gpr64sp = ADDXri %ptr, target-flags(aarch64-pageoff, aarch64-nc) @x, 0
65     ; CHECK: $x0 = COPY %add_low
66     ; CHECK: RET_ReallyLR implicit $x0
67     %ptr:gpr(p0) = COPY $x0
68     %add_low:gpr(p0) = G_ADD_LOW %ptr(p0), target-flags(aarch64-pageoff, aarch64-nc) @x
69     $x0 = COPY %add_low
70     RET_ReallyLR implicit $x0