1- ; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks .py UTC_ARGS: --version 4
2- ; RUN: llc -stop-after=irtranslator -o - %s | FileCheck %s --check-prefix=CHECK-TRANSLATOR
1+ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks .py UTC_ARGS: --version 4
2+ ; RUN: llc -global-isel -o - %s | FileCheck %s
33
44target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
55target triple = "arm64-apple-macosx14.0.0"
@@ -10,80 +10,40 @@ declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0
1010declare i32 @logg (...)
1111
1212define i32 @scanfile (i32 %call148 ) {
13- ; CHECK-TRANSLATOR-LABEL: name: scanfile
14- ; CHECK-TRANSLATOR: bb.0.entry:
15- ; CHECK-TRANSLATOR-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000)
16- ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $lr
17- ; CHECK-TRANSLATOR-NEXT: {{ $}}
18- ; CHECK-TRANSLATOR-NEXT: early-clobber $sp = frame-setup STPXpre $fp, killed $lr, $sp, -2 :: (store (s64) into %stack.1), (store (s64) into %stack.0)
19- ; CHECK-TRANSLATOR-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16
20- ; CHECK-TRANSLATOR-NEXT: frame-setup CFI_INSTRUCTION offset $w30, -8
21- ; CHECK-TRANSLATOR-NEXT: frame-setup CFI_INSTRUCTION offset $w29, -16
22- ; CHECK-TRANSLATOR-NEXT: $w8 = ORRWrs $wzr, $w0, 0
23- ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri killed $w0, 0, 0, implicit-def $nzcv
24- ; CHECK-TRANSLATOR-NEXT: $w0 = ORRWrs $wzr, $wzr, 0
25- ; CHECK-TRANSLATOR-NEXT: Bcc 12, %bb.5, implicit killed $nzcv
26- ; CHECK-TRANSLATOR-NEXT: {{ $}}
27- ; CHECK-TRANSLATOR-NEXT: bb.1.entry:
28- ; CHECK-TRANSLATOR-NEXT: successors: %bb.9(0x55555555), %bb.2(0x2aaaaaab)
29- ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
30- ; CHECK-TRANSLATOR-NEXT: {{ $}}
31- ; CHECK-TRANSLATOR-NEXT: CBZW renamable $w8, %bb.9
32- ; CHECK-TRANSLATOR-NEXT: {{ $}}
33- ; CHECK-TRANSLATOR-NEXT: bb.2.entry:
34- ; CHECK-TRANSLATOR-NEXT: successors: %bb.10(0x00000000), %bb.3(0x80000000)
35- ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
36- ; CHECK-TRANSLATOR-NEXT: {{ $}}
37- ; CHECK-TRANSLATOR-NEXT: dead $wzr = ADDSWri renamable $w8, 2, 0, implicit-def $nzcv
38- ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.10, implicit $nzcv
39- ; CHECK-TRANSLATOR-NEXT: {{ $}}
40- ; CHECK-TRANSLATOR-NEXT: bb.3.entry:
41- ; CHECK-TRANSLATOR-NEXT: successors: %bb.10(0x00000000), %bb.4(0x80000000)
42- ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
43- ; CHECK-TRANSLATOR-NEXT: {{ $}}
44- ; CHECK-TRANSLATOR-NEXT: dead $wzr = ADDSWri killed renamable $w8, 1, 0, implicit-def $nzcv
45- ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.10, implicit $nzcv
46- ; CHECK-TRANSLATOR-NEXT: {{ $}}
47- ; CHECK-TRANSLATOR-NEXT: bb.4.common.ret1:
48- ; CHECK-TRANSLATOR-NEXT: liveins: $w0
49- ; CHECK-TRANSLATOR-NEXT: {{ $}}
50- ; CHECK-TRANSLATOR-NEXT: early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2 :: (load (s64) from %stack.1), (load (s64) from %stack.0)
51- ; CHECK-TRANSLATOR-NEXT: RET undef $lr, implicit killed $w0
52- ; CHECK-TRANSLATOR-NEXT: {{ $}}
53- ; CHECK-TRANSLATOR-NEXT: bb.5.entry:
54- ; CHECK-TRANSLATOR-NEXT: successors: %bb.9(0x24924925), %bb.6(0x5b6db6db)
55- ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
56- ; CHECK-TRANSLATOR-NEXT: {{ $}}
57- ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri renamable $w8, 1, 0, implicit-def $nzcv
58- ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.9, implicit $nzcv
59- ; CHECK-TRANSLATOR-NEXT: {{ $}}
60- ; CHECK-TRANSLATOR-NEXT: bb.6.entry:
61- ; CHECK-TRANSLATOR-NEXT: successors: %bb.8(0x33333333), %bb.7(0x4ccccccd)
62- ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
63- ; CHECK-TRANSLATOR-NEXT: {{ $}}
64- ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri renamable $w8, 2, 0, implicit-def $nzcv
65- ; CHECK-TRANSLATOR-NEXT: Bcc 0, %bb.8, implicit $nzcv
66- ; CHECK-TRANSLATOR-NEXT: {{ $}}
67- ; CHECK-TRANSLATOR-NEXT: bb.7.entry:
68- ; CHECK-TRANSLATOR-NEXT: successors: %bb.8(0x55555555), %bb.4(0x2aaaaaab)
69- ; CHECK-TRANSLATOR-NEXT: liveins: $w0, $w8
70- ; CHECK-TRANSLATOR-NEXT: {{ $}}
71- ; CHECK-TRANSLATOR-NEXT: dead $wzr = SUBSWri killed renamable $w8, 3, 0, implicit-def $nzcv
72- ; CHECK-TRANSLATOR-NEXT: Bcc 1, %bb.4, implicit $nzcv
73- ; CHECK-TRANSLATOR-NEXT: {{ $}}
74- ; CHECK-TRANSLATOR-NEXT: bb.8.sw.bb300:
75- ; CHECK-TRANSLATOR-NEXT: BL @logg, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $w0
76- ; CHECK-TRANSLATOR-NEXT: early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2 :: (load (s64) from %stack.1), (load (s64) from %stack.0)
77- ; CHECK-TRANSLATOR-NEXT: RET undef $lr, implicit killed $w0
78- ; CHECK-TRANSLATOR-NEXT: {{ $}}
79- ; CHECK-TRANSLATOR-NEXT: bb.9.sw.bb178:
80- ; CHECK-TRANSLATOR-NEXT: $w0 = ORRWrs $wzr, $wzr, 0
81- ; CHECK-TRANSLATOR-NEXT: early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2 :: (load (s64) from %stack.1), (load (s64) from %stack.0)
82- ; CHECK-TRANSLATOR-NEXT: RET undef $lr, implicit killed $w0
83- ; CHECK-TRANSLATOR-NEXT: {{ $}}
84- ; CHECK-TRANSLATOR-NEXT: bb.10.sw.bb150:
85- ; CHECK-TRANSLATOR-NEXT: BL @logg, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def dead $w0
86- ; CHECK-TRANSLATOR-NEXT: BRK 1
13+ ; CHECK-LABEL: scanfile:
14+ ; CHECK: ; %bb.0: ; %entry
15+ ; CHECK-NEXT: stp x29, x30, [sp, #-16]! ; 16-byte Folded Spill
16+ ; CHECK-NEXT: .cfi_def_cfa_offset 16
17+ ; CHECK-NEXT: .cfi_offset w30, -8
18+ ; CHECK-NEXT: .cfi_offset w29, -16
19+ ; CHECK-NEXT: mov w8, w0
20+ ; CHECK-NEXT: mov w0, wzr
21+ ; CHECK-NEXT: cbz w8, LBB0_7
22+ ; CHECK-NEXT: ; %bb.1: ; %entry
23+ ; CHECK-NEXT: cmp w8, #1
24+ ; CHECK-NEXT: b.eq LBB0_7
25+ ; CHECK-NEXT: ; %bb.2: ; %entry
26+ ; CHECK-NEXT: cmp w8, #2
27+ ; CHECK-NEXT: b.eq LBB0_4
28+ ; CHECK-NEXT: ; %bb.3: ; %entry
29+ ; CHECK-NEXT: cmp w8, #3
30+ ; CHECK-NEXT: b.ne LBB0_5
31+ ; CHECK-NEXT: LBB0_4: ; %sw.bb300
32+ ; CHECK-NEXT: bl _logg
33+ ; CHECK-NEXT: ldp x29, x30, [sp], #16 ; 16-byte Folded Reload
34+ ; CHECK-NEXT: ret
35+ ; CHECK-NEXT: LBB0_5: ; %entry
36+ ; CHECK-NEXT: cmn w8, #2
37+ ; CHECK-NEXT: b.eq LBB0_8
38+ ; CHECK-NEXT: ; %bb.6: ; %entry
39+ ; CHECK-NEXT: cmn w8, #1
40+ ; CHECK-NEXT: b.eq LBB0_8
41+ ; CHECK-NEXT: LBB0_7: ; %common.ret1
42+ ; CHECK-NEXT: ldp x29, x30, [sp], #16 ; 16-byte Folded Reload
43+ ; CHECK-NEXT: ret
44+ ; CHECK-NEXT: LBB0_8: ; %sw.bb150
45+ ; CHECK-NEXT: bl _logg
46+ ; CHECK-NEXT: brk #0x1
8747entry:
8848 switch i32 %call148 , label %common.ret [
8949 i32 -1 , label %sw.bb
0 commit comments