brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 06382c6 Raw
82 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=i386--linux < %s | FileCheck -check-prefix=LINUX32 %s3; RUN: llc -mtriple=x86_64--linux < %s | FileCheck -check-prefix=LINUX64 %s4; RUN: llc -mtriple=i386--openbsd < %s | FileCheck -check-prefix=OPENBSD32 %s5; RUN: llc -mtriple=x86_64--openbsd < %s | FileCheck -check-prefix=OPENBSD64 %s6 7define void @func() sspreq nounwind {8; LINUX32-LABEL: func:9; LINUX32:       # %bb.0:10; LINUX32-NEXT:    subl $12, %esp11; LINUX32-NEXT:    movl %gs:20, %eax12; LINUX32-NEXT:    movl %eax, {{[0-9]+}}(%esp)13; LINUX32-NEXT:    leal {{[0-9]+}}(%esp), %eax14; LINUX32-NEXT:    movl %eax, (%esp)15; LINUX32-NEXT:    calll capture@PLT16; LINUX32-NEXT:    movl %gs:20, %eax17; LINUX32-NEXT:    cmpl {{[0-9]+}}(%esp), %eax18; LINUX32-NEXT:    jne .LBB0_219; LINUX32-NEXT:  # %bb.1: # %SP_return20; LINUX32-NEXT:    addl $12, %esp21; LINUX32-NEXT:    retl22; LINUX32-NEXT:  .LBB0_2: # %CallStackCheckFailBlk23; LINUX32-NEXT:    calll __stack_chk_fail@PLT24;25; LINUX64-LABEL: func:26; LINUX64:       # %bb.0:27; LINUX64-NEXT:    subq $24, %rsp28; LINUX64-NEXT:    movq %fs:40, %rax29; LINUX64-NEXT:    movq %rax, {{[0-9]+}}(%rsp)30; LINUX64-NEXT:    leaq {{[0-9]+}}(%rsp), %rdi31; LINUX64-NEXT:    callq capture@PLT32; LINUX64-NEXT:    movq %fs:40, %rax33; LINUX64-NEXT:    cmpq {{[0-9]+}}(%rsp), %rax34; LINUX64-NEXT:    jne .LBB0_235; LINUX64-NEXT:  # %bb.1: # %SP_return36; LINUX64-NEXT:    addq $24, %rsp37; LINUX64-NEXT:    retq38; LINUX64-NEXT:  .LBB0_2: # %CallStackCheckFailBlk39; LINUX64-NEXT:    callq __stack_chk_fail@PLT40;41; OPENBSD32-LABEL: func:42; OPENBSD32:       # %bb.0:43; OPENBSD32-NEXT:    subl $8, %esp44; OPENBSD32-NEXT:    movl __guard_local, %eax45; OPENBSD32-NEXT:    movl %eax, {{[0-9]+}}(%esp)46; OPENBSD32-NEXT:    movl %esp, %eax47; OPENBSD32-NEXT:    pushl %eax48; OPENBSD32-NEXT:    calll capture@PLT49; OPENBSD32-NEXT:    addl $4, %esp50; OPENBSD32-NEXT:    movl __guard_local, %eax51; OPENBSD32-NEXT:    cmpl {{[0-9]+}}(%esp), %eax52; OPENBSD32-NEXT:    jne .LBB0_253; OPENBSD32-NEXT:  # %bb.1: # %SP_return54; OPENBSD32-NEXT:    addl $8, %esp55; OPENBSD32-NEXT:    retl56; OPENBSD32-NEXT:  .LBB0_2: # %CallStackCheckFailBlk57; OPENBSD32-NEXT:    pushl $.LSSH58; OPENBSD32-NEXT:    calll __stack_smash_handler@PLT59;60; OPENBSD64-LABEL: func:61; OPENBSD64:       # %bb.0:62; OPENBSD64-NEXT:    subq $24, %rsp63; OPENBSD64-NEXT:    movq __guard_local(%rip), %rax64; OPENBSD64-NEXT:    movq %rax, {{[0-9]+}}(%rsp)65; OPENBSD64-NEXT:    leaq {{[0-9]+}}(%rsp), %rdi66; OPENBSD64-NEXT:    callq capture@PLT67; OPENBSD64-NEXT:    movq __guard_local(%rip), %rax68; OPENBSD64-NEXT:    cmpq {{[0-9]+}}(%rsp), %rax69; OPENBSD64-NEXT:    jne .LBB0_270; OPENBSD64-NEXT:  # %bb.1: # %SP_return71; OPENBSD64-NEXT:    addq $24, %rsp72; OPENBSD64-NEXT:    retq73; OPENBSD64-NEXT:  .LBB0_2: # %CallStackCheckFailBlk74; OPENBSD64-NEXT:    movl $.LSSH, %edi75; OPENBSD64-NEXT:    callq __stack_smash_handler@PLT76  %alloca = alloca i32, align 477  call void @capture(ptr %alloca)78  ret void79}80 81declare void @capture(ptr)82