brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · a8d97c9 Raw
123 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:    mr 31, 116; BE64-NEXT:    std 0, 160(1)17; BE64-NEXT:    std 30, 128(31) # 8-byte Folded Spill18; BE64-NEXT:    addis 30, 2, __stack_chk_guard@toc@ha19; BE64-NEXT:    sldi 3, 3, 220; BE64-NEXT:    ld 4, __stack_chk_guard@toc@l(30)21; BE64-NEXT:    addi 3, 3, 1522; BE64-NEXT:    rldicr 3, 3, 0, 5923; BE64-NEXT:    neg 3, 324; BE64-NEXT:    std 4, 120(31)25; BE64-NEXT:    addi 4, 31, 14426; BE64-NEXT:    stdux 4, 1, 327; BE64-NEXT:    addi 3, 1, 11228; BE64-NEXT:    bl baz29; BE64-NEXT:    nop30; BE64-NEXT:    ld 3, __stack_chk_guard@toc@l(30)31; BE64-NEXT:    ld 4, 120(31)32; BE64-NEXT:    cmpld 3, 433; BE64-NEXT:    bne 0, .LBB0_234; BE64-NEXT:  # %bb.1:35; BE64-NEXT:    ld 30, 128(31) # 8-byte Folded Reload36; BE64-NEXT:    ld 1, 0(1)37; BE64-NEXT:    ld 0, 16(1)38; BE64-NEXT:    ld 31, -8(1)39; BE64-NEXT:    mtlr 040; BE64-NEXT:    blr41; BE64-NEXT:  .LBB0_2:42; BE64-NEXT:    bl __stack_chk_fail43; BE64-NEXT:    nop44;45; LE64-LABEL: foo:46; LE64:       # %bb.0:47; LE64-NEXT:    mflr 048; LE64-NEXT:    std 31, -8(1)49; LE64-NEXT:    stdu 1, -64(1)50; LE64-NEXT:    mr 31, 151; LE64-NEXT:    sldi 3, 3, 252; LE64-NEXT:    std 0, 80(1)53; LE64-NEXT:    std 30, 48(31) # 8-byte Folded Spill54; LE64-NEXT:    addis 30, 2, __stack_chk_guard@toc@ha55; LE64-NEXT:    addi 3, 3, 1556; LE64-NEXT:    ld 4, __stack_chk_guard@toc@l(30)57; LE64-NEXT:    rldicr 3, 3, 0, 5958; LE64-NEXT:    neg 3, 359; LE64-NEXT:    std 4, 40(31)60; LE64-NEXT:    addi 4, 31, 6461; LE64-NEXT:    stdux 4, 1, 362; LE64-NEXT:    addi 3, 1, 3263; LE64-NEXT:    bl baz64; LE64-NEXT:    nop65; LE64-NEXT:    ld 3, __stack_chk_guard@toc@l(30)66; LE64-NEXT:    ld 4, 40(31)67; LE64-NEXT:    cmpld 3, 468; LE64-NEXT:    bne 0, .LBB0_269; LE64-NEXT:  # %bb.1:70; LE64-NEXT:    ld 30, 48(31) # 8-byte Folded Reload71; LE64-NEXT:    ld 1, 0(1)72; LE64-NEXT:    ld 0, 16(1)73; LE64-NEXT:    ld 31, -8(1)74; LE64-NEXT:    mtlr 075; LE64-NEXT:    blr76; LE64-NEXT:  .LBB0_2:77; LE64-NEXT:    bl __stack_chk_fail78; LE64-NEXT:    nop79;80; LE32-LABEL: foo:81; LE32:       # %bb.0:82; LE32-NEXT:    mflr 083; LE32-NEXT:    stwu 1, -32(1)84; LE32-NEXT:    stw 31, 28(1)85; LE32-NEXT:    mr 31, 186; LE32-NEXT:    stw 0, 36(1)87; LE32-NEXT:    slwi 4, 4, 288; LE32-NEXT:    stw 30, 24(31) # 4-byte Folded Spill89; LE32-NEXT:    lis 30, __stack_chk_guard@ha90; LE32-NEXT:    lwz 3, __stack_chk_guard@l(30)91; LE32-NEXT:    addi 4, 4, 1592; LE32-NEXT:    rlwinm 4, 4, 0, 0, 2793; LE32-NEXT:    neg 4, 494; LE32-NEXT:    stw 3, 20(31)95; LE32-NEXT:    addi 3, 31, 3296; LE32-NEXT:    stwux 3, 1, 497; LE32-NEXT:    addi 3, 1, 1698; LE32-NEXT:    bl baz99; LE32-NEXT:    lwz 3, __stack_chk_guard@l(30)100; LE32-NEXT:    lwz 4, 20(31)101; LE32-NEXT:    cmplw 3, 4102; LE32-NEXT:    bne 0, .LBB0_2103; LE32-NEXT:  # %bb.1:104; LE32-NEXT:    lwz 30, 24(31) # 4-byte Folded Reload105; LE32-NEXT:    lwz 31, 0(1)106; LE32-NEXT:    lwz 0, -4(31)107; LE32-NEXT:    mr 1, 31108; LE32-NEXT:    mr 31, 0109; LE32-NEXT:    lwz 0, 4(1)110; LE32-NEXT:    mtlr 0111; LE32-NEXT:    blr112; LE32-NEXT:  .LBB0_2:113; LE32-NEXT:    bl __stack_chk_fail114  %vla = alloca i32, i64 %t, align 4115  call void @baz(ptr %vla)116  ret void117}118 119declare void @baz(ptr)120 121!llvm.module.flags = !{!1}122!1 = !{i32 2, !"stack-protector-guard", !"global"}123