Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / select-gv-with-offset.mir
blob1713f36683ef93d5c4b65701419eae8bb0dab7fe
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=aarch64 -code-model=large -run-pass=instruction-select -verify-machineinstrs -O0 %s -o - | FileCheck %s --check-prefix=LARGE
3 # RUN: llc -mtriple=aarch64 -code-model=large -relocation-model=pic -run-pass=instruction-select -verify-machineinstrs -O0 %s -o - | FileCheck %s --check-prefix=LARGE-PIC
4 # RUN: llc -mtriple=aarch64 -code-model=small -run-pass=instruction-select -verify-machineinstrs -O0 %s -o - | FileCheck %s --check-prefix=SMALL
5 # RUN: llc -mtriple=aarch64 -code-model=tiny -run-pass=instruction-select -verify-machineinstrs -O0 %s -o - | FileCheck %s --check-prefix=TINY
7 --- |
8    @g = external hidden global i32
9    define void @select_gv_with_offset() { ret void }
10 ...
11 ---
12 name:            select_gv_with_offset
13 legalized:       true
14 regBankSelected: true
15 tracksRegLiveness: true
16 body:             |
17   bb.0:
18     liveins: $x0
19     ; LARGE-LABEL: name: select_gv_with_offset
20     ; LARGE: liveins: $x0
21     ; LARGE-NEXT: {{  $}}
22     ; LARGE-NEXT: [[MOVZXi:%[0-9]+]]:gpr64 = MOVZXi target-flags(aarch64-g0, aarch64-nc) @g + 1, 0
23     ; LARGE-NEXT: [[MOVKXi:%[0-9]+]]:gpr64 = MOVKXi [[MOVZXi]], target-flags(aarch64-g1, aarch64-nc) @g + 1, 16
24     ; LARGE-NEXT: [[MOVKXi1:%[0-9]+]]:gpr64 = MOVKXi [[MOVKXi]], target-flags(aarch64-g2, aarch64-nc) @g + 1, 32
25     ; LARGE-NEXT: %g:gpr64 = MOVKXi [[MOVKXi1]], target-flags(aarch64-g3) @g + 1, 48
26     ; LARGE-NEXT: $x0 = COPY %g
27     ; LARGE-NEXT: RET_ReallyLR implicit $x0
28     ;
29     ; LARGE-PIC-LABEL: name: select_gv_with_offset
30     ; LARGE-PIC: liveins: $x0
31     ; LARGE-PIC-NEXT: {{  $}}
32     ; LARGE-PIC-NEXT: %g:gpr64common = MOVaddr target-flags(aarch64-page) @g + 1, target-flags(aarch64-pageoff, aarch64-nc) @g + 1
33     ; LARGE-PIC-NEXT: $x0 = COPY %g
34     ; LARGE-PIC-NEXT: RET_ReallyLR implicit $x0
35     ;
36     ; SMALL-LABEL: name: select_gv_with_offset
37     ; SMALL: liveins: $x0
38     ; SMALL-NEXT: {{  $}}
39     ; SMALL-NEXT: %g:gpr64common = MOVaddr target-flags(aarch64-page) @g + 1, target-flags(aarch64-pageoff, aarch64-nc) @g + 1
40     ; SMALL-NEXT: $x0 = COPY %g
41     ; SMALL-NEXT: RET_ReallyLR implicit $x0
42     ;
43     ; TINY-LABEL: name: select_gv_with_offset
44     ; TINY: liveins: $x0
45     ; TINY-NEXT: {{  $}}
46     ; TINY-NEXT: %g:gpr64 = ADR @g + 1
47     ; TINY-NEXT: $x0 = COPY %g
48     ; TINY-NEXT: RET_ReallyLR implicit $x0
49     %g:gpr(p0) = G_GLOBAL_VALUE @g + 1
50     $x0 = COPY %g(p0)
51     RET_ReallyLR implicit $x0