121 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-linux-gnu < %s \3; RUN: 2>&1 | FileCheck --check-prefix=CHECK-LE %s4; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff -mcpu=ppc < %s \5; RUN: 2>&1 | FileCheck --check-prefix=CHECK-BE %s6 7%0 = type <{ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, [8 x i8] }>8@global.1 = internal global %0 <{ i32 129, i32 2, i32 118, i32 0, i32 5, i32 0, i32 0, i32 0, i32 120, i32 0, ptr @global.2, [8 x i8] c"\00\00\00\00\00\00\00\03" }>, align 49@global.2 = internal constant [3 x i8] c"x.c"10@alias = dso_local alias i32 (), ptr @main11 12define dso_local signext i32 @main() nounwind {13; CHECK-LE-LABEL: main:14; CHECK-LE: # %bb.0: # %bb15; CHECK-LE-NEXT: mflr 016; CHECK-LE-NEXT: std 0, 16(1)17; CHECK-LE-NEXT: lis 0, -118; CHECK-LE-NEXT: ori 0, 0, 6553519; CHECK-LE-NEXT: sldi 0, 0, 3220; CHECK-LE-NEXT: oris 0, 0, 3276721; CHECK-LE-NEXT: ori 0, 0, 6512022; CHECK-LE-NEXT: stdux 1, 1, 023; CHECK-LE-NEXT: lis 3, 024; CHECK-LE-NEXT: sldi 3, 3, 3225; CHECK-LE-NEXT: oris 3, 3, 3276826; CHECK-LE-NEXT: ori 3, 3, 40027; CHECK-LE-NEXT: stdx 30, 1, 3 # 8-byte Folded Spill28; CHECK-LE-NEXT: bl pluto29; CHECK-LE-NEXT: nop30; CHECK-LE-NEXT: addis 3, 2, global.1@toc@ha31; CHECK-LE-NEXT: li 4, 25732; CHECK-LE-NEXT: li 7, 033; CHECK-LE-NEXT: li 8, 034; CHECK-LE-NEXT: li 9, 035; CHECK-LE-NEXT: addi 5, 3, global.1@toc@l36; CHECK-LE-NEXT: li 3, 037; CHECK-LE-NEXT: ori 6, 3, 3276838; CHECK-LE-NEXT: li 3, 639; CHECK-LE-NEXT: bl snork40; CHECK-LE-NEXT: nop41; CHECK-LE-NEXT: mr 30, 342; CHECK-LE-NEXT: li 3, 34443; CHECK-LE-NEXT: addi 4, 1, 4844; CHECK-LE-NEXT: li 5, 845; CHECK-LE-NEXT: li 6, 846; CHECK-LE-NEXT: oris 3, 3, 3276847; CHECK-LE-NEXT: add 4, 4, 348; CHECK-LE-NEXT: mr 3, 3049; CHECK-LE-NEXT: bl zot50; CHECK-LE-NEXT: nop51; CHECK-LE-NEXT: mr 3, 3052; CHECK-LE-NEXT: bl wibble53; CHECK-LE-NEXT: nop54; CHECK-LE-NEXT: li 3, 055; CHECK-LE-NEXT: bl snork.356; CHECK-LE-NEXT: nop57;58; CHECK-BE-LABEL: main:59; CHECK-BE: # %bb.0: # %bb60; CHECK-BE-NEXT: mflr 061; CHECK-BE-NEXT: std 0, 16(1)62; CHECK-BE-NEXT: lis 0, -163; CHECK-BE-NEXT: ori 0, 0, 6553564; CHECK-BE-NEXT: sldi 0, 0, 3265; CHECK-BE-NEXT: oris 0, 0, 3276766; CHECK-BE-NEXT: ori 0, 0, 6505667; CHECK-BE-NEXT: stdux 1, 1, 068; CHECK-BE-NEXT: lis 3, 069; CHECK-BE-NEXT: sldi 3, 3, 3270; CHECK-BE-NEXT: oris 3, 3, 3276871; CHECK-BE-NEXT: ori 3, 3, 47272; CHECK-BE-NEXT: stdx 31, 1, 3 # 8-byte Folded Spill73; CHECK-BE-NEXT: bl .pluto[PR]74; CHECK-BE-NEXT: nop75; CHECK-BE-NEXT: ld 5, L..C0(2) # @global.176; CHECK-BE-NEXT: li 3, 077; CHECK-BE-NEXT: ori 6, 3, 3276878; CHECK-BE-NEXT: li 3, 679; CHECK-BE-NEXT: li 4, 25780; CHECK-BE-NEXT: li 7, 081; CHECK-BE-NEXT: li 8, 082; CHECK-BE-NEXT: li 9, 083; CHECK-BE-NEXT: bl .snork[PR]84; CHECK-BE-NEXT: nop85; CHECK-BE-NEXT: mr 31, 386; CHECK-BE-NEXT: li 3, 34487; CHECK-BE-NEXT: oris 3, 3, 3276888; CHECK-BE-NEXT: addi 4, 1, 12089; CHECK-BE-NEXT: add 4, 4, 390; CHECK-BE-NEXT: mr 3, 3191; CHECK-BE-NEXT: li 5, 892; CHECK-BE-NEXT: li 6, 893; CHECK-BE-NEXT: bl .zot[PR]94; CHECK-BE-NEXT: nop95; CHECK-BE-NEXT: mr 3, 3196; CHECK-BE-NEXT: bl .wibble[PR]97; CHECK-BE-NEXT: nop98; CHECK-BE-NEXT: li 3, 099; CHECK-BE-NEXT: bl .snork.3[PR]100; CHECK-BE-NEXT: nop101bb:102 %tmp = alloca [2147484000 x i8], align 8103 tail call void @pluto()104 %tmp6 = tail call i64 @snork(i64 6, i32 257, ptr nonnull @global.1, i64 32768, ptr null, i64 0, ptr null)105 %tmp7 = getelementptr inbounds [2147484000 x i8], ptr %tmp, i64 0, i64 2147483992106 %tmp9 = call i64 @zot(i64 %tmp6, ptr nonnull %tmp7, i64 8, i64 8)107 %tmp10 = call i64 @wibble(i64 %tmp6)108 call void @snork.3(i64 0)109 unreachable110}111 112declare void @pluto()113 114declare signext i64 @snork(i64, i32, ptr, i64, ptr, i64, ptr)115 116declare signext i64 @zot(i64, ptr, i64, i64)117 118declare signext i64 @wibble(i64)119 120declare void @snork.3(i64)121