Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / PowerPC / PR3488.ll
blobc29862ea12448f2bd8c54109b8a78279e579c8dd
1 ; RUN: llc < %s -mtriple=powerpc64le-unknown-unknown -verify-machineinstrs \
2 ; RUN:   -mcpu=pwr8 | FileCheck %s
3 module asm "\09.section \22___kcrctab+numa_node\22, \22a\22\09"
4 module asm "\09.weak\09__crc_numa_node\09"
5 module asm "\09.long\09__crc_numa_node\09"
6 module asm "\09.previous\09\09\09\09\09"
7 module asm "\09.section \22___kcrctab+_numa_mem_\22, \22a\22\09"
8 module asm "\09.weak\09__crc__numa_mem_\09"
9 module asm "\09.long\09__crc__numa_mem_\09"
10 module asm "\09.previous\09\09\09\09\09"
11 module asm "\09.section \22___kcrctab+node_states\22, \22a\22\09"
12 module asm "\09.weak\09__crc_node_states\09"
13 module asm "\09.long\09__crc_node_states\09"
14 module asm "\09.previous\09\09\09\09\09"
15 module asm "\09.section \22___kcrctab+totalram_pages\22, \22a\22\09"
16 module asm "\09.weak\09__crc_totalram_pages\09"
17 module asm "\09.long\09__crc_totalram_pages\09"
18 module asm "\09.previous\09\09\09\09\09"
19 module asm "\09.section \22___kcrctab+movable_zone\22, \22a\22\09"
20 module asm "\09.weak\09__crc_movable_zone\09"
21 module asm "\09.long\09__crc_movable_zone\09"
22 module asm "\09.previous\09\09\09\09\09"
23 module asm "\09.section \22___kcrctab+nr_node_ids\22, \22a\22\09"
24 module asm "\09.weak\09__crc_nr_node_ids\09"
25 module asm "\09.long\09__crc_nr_node_ids\09"
26 module asm "\09.previous\09\09\09\09\09"
27 module asm "\09.section \22___kcrctab+nr_online_nodes\22, \22a\22\09"
28 module asm "\09.weak\09__crc_nr_online_nodes\09"
29 module asm "\09.long\09__crc_nr_online_nodes\09"
30 module asm "\09.previous\09\09\09\09\09"
31 module asm "\09.section \22___kcrctab_gpl+split_page\22, \22a\22\09"
32 module asm "\09.weak\09__crc_split_page\09"
33 module asm "\09.long\09__crc_split_page\09"
34 module asm "\09.previous\09\09\09\09\09"
35 module asm "\09.section \22___kcrctab+__alloc_pages_nodemask\22, \22a\22\09"
36 module asm "\09.weak\09__crc___alloc_pages_nodemask\09"
37 module asm "\09.long\09__crc___alloc_pages_nodemask\09"
38 module asm "\09.previous\09\09\09\09\09"
39 module asm "\09.section \22___kcrctab+__get_free_pages\22, \22a\22\09"
40 module asm "\09.weak\09__crc___get_free_pages\09"
41 module asm "\09.long\09__crc___get_free_pages\09"
42 module asm "\09.previous\09\09\09\09\09"
43 module asm "\09.section \22___kcrctab+get_zeroed_page\22, \22a\22\09"
44 module asm "\09.weak\09__crc_get_zeroed_page\09"
45 module asm "\09.long\09__crc_get_zeroed_page\09"
46 module asm "\09.previous\09\09\09\09\09"
47 module asm "\09.section \22___kcrctab+__free_pages\22, \22a\22\09"
48 module asm "\09.weak\09__crc___free_pages\09"
49 module asm "\09.long\09__crc___free_pages\09"
50 module asm "\09.previous\09\09\09\09\09"
51 module asm "\09.section \22___kcrctab+free_pages\22, \22a\22\09"
52 module asm "\09.weak\09__crc_free_pages\09"
53 module asm "\09.long\09__crc_free_pages\09"
54 module asm "\09.previous\09\09\09\09\09"
55 module asm "\09.section \22___kcrctab+__page_frag_cache_drain\22, \22a\22\09"
56 module asm "\09.weak\09__crc___page_frag_cache_drain\09"
57 module asm "\09.long\09__crc___page_frag_cache_drain\09"
58 module asm "\09.previous\09\09\09\09\09"
59 module asm "\09.section \22___kcrctab+page_frag_alloc\22, \22a\22\09"
60 module asm "\09.weak\09__crc_page_frag_alloc\09"
61 module asm "\09.long\09__crc_page_frag_alloc\09"
62 module asm "\09.previous\09\09\09\09\09"
63 module asm "\09.section \22___kcrctab+page_frag_free\22, \22a\22\09"
64 module asm "\09.weak\09__crc_page_frag_free\09"
65 module asm "\09.long\09__crc_page_frag_free\09"
66 module asm "\09.previous\09\09\09\09\09"
67 module asm "\09.section \22___kcrctab+alloc_pages_exact\22, \22a\22\09"
68 module asm "\09.weak\09__crc_alloc_pages_exact\09"
69 module asm "\09.long\09__crc_alloc_pages_exact\09"
70 module asm "\09.previous\09\09\09\09\09"
71 module asm "\09.section \22___kcrctab+free_pages_exact\22, \22a\22\09"
72 module asm "\09.weak\09__crc_free_pages_exact\09"
73 module asm "\09.long\09__crc_free_pages_exact\09"
74 module asm "\09.previous\09\09\09\09\09"
75 module asm "\09.section \22___kcrctab_gpl+nr_free_buffer_pages\22, \22a\22\09"
76 module asm "\09.weak\09__crc_nr_free_buffer_pages\09"
77 module asm "\09.long\09__crc_nr_free_buffer_pages\09"
78 module asm "\09.previous\09\09\09\09\09"
79 module asm "\09.section \22___kcrctab_gpl+si_mem_available\22, \22a\22\09"
80 module asm "\09.weak\09__crc_si_mem_available\09"
81 module asm "\09.long\09__crc_si_mem_available\09"
82 module asm "\09.previous\09\09\09\09\09"
83 module asm "\09.section \22___kcrctab+si_meminfo\22, \22a\22\09"
84 module asm "\09.weak\09__crc_si_meminfo\09"
85 module asm "\09.long\09__crc_si_meminfo\09"
86 module asm "\09.previous\09\09\09\09\09"
87 module asm "\09.section \22___kcrctab+adjust_managed_page_count\22, \22a\22\09"
88 module asm "\09.weak\09__crc_adjust_managed_page_count\09"
89 module asm "\09.long\09__crc_adjust_managed_page_count\09"
90 module asm "\09.previous\09\09\09\09\09"
91 module asm "\09.section \22___kcrctab+free_reserved_area\22, \22a\22\09"
92 module asm "\09.weak\09__crc_free_reserved_area\09"
93 module asm "\09.long\09__crc_free_reserved_area\09"
94 module asm "\09.previous\09\09\09\09\09"
96 @nr_cpu_ids = external local_unnamed_addr global i32, align 4
98 ; Function Attrs: nounwind
99 define void @__alloc_pages_nodemask() #0 {
100 entry:
101   %0 = call i64 asm sideeffect "ld${1:U}${1:X} $0,$1", "=r,*m"(ptr elementtype(i64) undef)
102   br i1 undef, label %do.body.lr.ph.i.i.i, label %zone_page_state_snapshot.exit.i.i
103 ; CHECK: ld 3, 0(3)
105 do.body.lr.ph.i.i.i:                              ; preds = %entry
106   br label %do.body.i.i.i
108 do.body.i.i.i:                                    ; preds = %do.body.i.i.i, %do.body.lr.ph.i.i.i
109   %x.022.i.i.i = phi i64 [ %0, %do.body.lr.ph.i.i.i ], [ %add7.i.i.i, %do.body.i.i.i ]
110   %1 = load i8, ptr undef, align 1
111   %conv.i.i458.i = sext i8 %1 to i64
112   %add7.i.i.i = add i64 %x.022.i.i.i, %conv.i.i458.i
113   %2 = load i32, ptr @nr_cpu_ids, align 4
114   %cmp.i1.i.i = icmp ult i32 0, %2
115   br i1 %cmp.i1.i.i, label %do.body.i.i.i, label %zone_page_state_snapshot.exit.i.i
117 zone_page_state_snapshot.exit.i.i:                ; preds = %do.body.i.i.i, %entry
118   %x.0.lcssa.i.i.i = phi i64 [ %0, %entry ], [ %add7.i.i.i, %do.body.i.i.i ]
119   %3 = icmp sgt i64 %x.0.lcssa.i.i.i, 0
120   unreachable