brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 89c1fdb Raw
115 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mcpu=ppc -mtriple=powerpc64 -verify-machineinstrs < %s \3; RUN:     | FileCheck %s --check-prefixes=BE644; RUN: llc -mtriple=powerpc64le -verify-machineinstrs < %s \5; RUN:     | FileCheck %s --check-prefixes=LE646; RUN: llc -mtriple=ppc32 -verify-machineinstrs < %s \7; RUN:     | FileCheck %s --check-prefixes=LE328 9define void @foo(i64 %t) sspstrong nounwind {10; BE64-LABEL: foo:11; BE64:       # %bb.0:12; BE64-NEXT:    mflr 013; BE64-NEXT:    std 31, -8(1)14; BE64-NEXT:    stdu 1, -144(1)15; BE64-NEXT:    ld 4, 500(13)16; BE64-NEXT:    sldi 3, 3, 217; BE64-NEXT:    mr 31, 118; BE64-NEXT:    addi 3, 3, 1519; BE64-NEXT:    rldicr 3, 3, 0, 5920; BE64-NEXT:    std 0, 160(1)21; BE64-NEXT:    neg 3, 322; BE64-NEXT:    std 4, 128(31)23; BE64-NEXT:    addi 4, 31, 14424; BE64-NEXT:    stdux 4, 1, 325; BE64-NEXT:    addi 3, 1, 11226; BE64-NEXT:    bl baz27; BE64-NEXT:    nop28; BE64-NEXT:    ld 3, 128(31)29; BE64-NEXT:    ld 4, 500(13)30; BE64-NEXT:    cmpld 4, 331; BE64-NEXT:    bne 0, .LBB0_232; BE64-NEXT:  # %bb.1:33; BE64-NEXT:    ld 1, 0(1)34; BE64-NEXT:    ld 0, 16(1)35; BE64-NEXT:    ld 31, -8(1)36; BE64-NEXT:    mtlr 037; BE64-NEXT:    blr38; BE64-NEXT:  .LBB0_2:39; BE64-NEXT:    bl __stack_chk_fail40; BE64-NEXT:    nop41;42; LE64-LABEL: foo:43; LE64:       # %bb.0:44; LE64-NEXT:    mflr 045; LE64-NEXT:    std 31, -8(1)46; LE64-NEXT:    stdu 1, -64(1)47; LE64-NEXT:    sldi 3, 3, 248; LE64-NEXT:    ld 4, 500(13)49; LE64-NEXT:    std 0, 80(1)50; LE64-NEXT:    addi 3, 3, 1551; LE64-NEXT:    mr 31, 152; LE64-NEXT:    std 4, 48(31)53; LE64-NEXT:    addi 4, 31, 6454; LE64-NEXT:    rldicr 3, 3, 0, 5955; LE64-NEXT:    neg 3, 356; LE64-NEXT:    stdux 4, 1, 357; LE64-NEXT:    addi 3, 1, 3258; LE64-NEXT:    bl baz59; LE64-NEXT:    nop60; LE64-NEXT:    ld 3, 48(31)61; LE64-NEXT:    ld 4, 500(13)62; LE64-NEXT:    cmpld 4, 363; LE64-NEXT:    bne 0, .LBB0_264; LE64-NEXT:  # %bb.1:65; LE64-NEXT:    ld 1, 0(1)66; LE64-NEXT:    ld 0, 16(1)67; LE64-NEXT:    ld 31, -8(1)68; LE64-NEXT:    mtlr 069; LE64-NEXT:    blr70; LE64-NEXT:  .LBB0_2:71; LE64-NEXT:    bl __stack_chk_fail72; LE64-NEXT:    nop73;74; LE32-LABEL: foo:75; LE32:       # %bb.0:76; LE32-NEXT:    mflr 077; LE32-NEXT:    stwu 1, -32(1)78; LE32-NEXT:    lwz 3, 500(2)79; LE32-NEXT:    slwi 4, 4, 280; LE32-NEXT:    addi 4, 4, 1581; LE32-NEXT:    stw 31, 28(1)82; LE32-NEXT:    mr 31, 183; LE32-NEXT:    rlwinm 4, 4, 0, 0, 2784; LE32-NEXT:    stw 0, 36(1)85; LE32-NEXT:    neg 4, 486; LE32-NEXT:    stw 3, 24(31)87; LE32-NEXT:    addi 3, 31, 3288; LE32-NEXT:    stwux 3, 1, 489; LE32-NEXT:    addi 3, 1, 1690; LE32-NEXT:    bl baz91; LE32-NEXT:    lwz 3, 24(31)92; LE32-NEXT:    lwz 4, 500(2)93; LE32-NEXT:    cmplw 4, 394; LE32-NEXT:    bne 0, .LBB0_295; LE32-NEXT:  # %bb.1:96; LE32-NEXT:    lwz 31, 0(1)97; LE32-NEXT:    lwz 0, -4(31)98; LE32-NEXT:    mr 1, 3199; LE32-NEXT:    mr 31, 0100; LE32-NEXT:    lwz 0, 4(1)101; LE32-NEXT:    mtlr 0102; LE32-NEXT:    blr103; LE32-NEXT:  .LBB0_2:104; LE32-NEXT:    bl __stack_chk_fail105  %vla = alloca i32, i64 %t, align 4106  call void @baz(ptr %vla)107  ret void108}109 110declare void @baz(ptr)111 112!llvm.module.flags = !{!1, !2}113!1 = !{i32 2, !"stack-protector-guard", !"tls"}114!2 = !{i32 2, !"stack-protector-guard-offset", i32 500}115