Nemanja Ivanovic | 7bf866e | 2017-10-10 08:46:10 +0000 | [diff] [blame] | 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" |
| 95 | |
| 96 | @nr_cpu_ids = external local_unnamed_addr global i32, align 4 |
| 97 | |
| 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"(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) |
| 104 | |
| 105 | do.body.lr.ph.i.i.i: ; preds = %entry |
| 106 | br label %do.body.i.i.i |
| 107 | |
| 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, i8* 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, i32* @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 |
| 116 | |
| 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 |
| 121 | } |