brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · f0e9aa8 Raw
142 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=sparc-unknown-linux  < %s | FileCheck -check-prefix=LINUX32 %s3; RUN: llc -mtriple=sparc64-unknown-linux  < %s | FileCheck -check-prefix=LINUX64 %s4; RUN: llc -mtriple=sparc-unknown-solaris < %s | FileCheck -check-prefixes=SOLARIS32 %s5; RUN: llc -mtriple=sparc64-unknown-solaris < %s | FileCheck -check-prefixes=SOLARIS64 %s6; RUN: llc -mtriple=sparc-unknown-openbsd  < %s | FileCheck -check-prefix=OPENBSD32 %s7; RUN: llc -mtriple=sparc64-unknown-openbsd  < %s | FileCheck -check-prefix=OPENBSD64 %s8 9define void @func() sspreq nounwind {10; LINUX32-LABEL: func:11; LINUX32:       ! %bb.0:12; LINUX32-NEXT:    save %sp, -104, %sp13; LINUX32-NEXT:    ld [%g7+20], %i014; LINUX32-NEXT:    st %i0, [%fp+-4]15; LINUX32-NEXT:    call capture16; LINUX32-NEXT:    add %fp, -8, %o017; LINUX32-NEXT:    ld [%fp+-4], %i018; LINUX32-NEXT:    ld [%g7+20], %i119; LINUX32-NEXT:    cmp %i1, %i020; LINUX32-NEXT:    bne .LBB0_221; LINUX32-NEXT:    nop22; LINUX32-NEXT:  ! %bb.1:23; LINUX32-NEXT:    ret24; LINUX32-NEXT:    restore25; LINUX32-NEXT:  .LBB0_2:26; LINUX32-NEXT:    call __stack_chk_fail27; LINUX32-NEXT:    nop28;29; LINUX64-LABEL: func:30; LINUX64:         .register %g7, #ignore31; LINUX64-NEXT:  ! %bb.0:32; LINUX64-NEXT:    save %sp, -192, %sp33; LINUX64-NEXT:    ldx [%g7+40], %i034; LINUX64-NEXT:    stx %i0, [%fp+2039]35; LINUX64-NEXT:    call capture36; LINUX64-NEXT:    add %fp, 2035, %o037; LINUX64-NEXT:    ldx [%fp+2039], %i038; LINUX64-NEXT:    ldx [%g7+40], %i139; LINUX64-NEXT:    cmp %i1, %i040; LINUX64-NEXT:    bne %xcc, .LBB0_241; LINUX64-NEXT:    nop42; LINUX64-NEXT:  ! %bb.1:43; LINUX64-NEXT:    ret44; LINUX64-NEXT:    restore45; LINUX64-NEXT:  .LBB0_2:46; LINUX64-NEXT:    call __stack_chk_fail47; LINUX64-NEXT:    nop48;49; SOLARIS32-LABEL: func:50; SOLARIS32:       ! %bb.0:51; SOLARIS32-NEXT:    save %sp, -104, %sp52; SOLARIS32-NEXT:    sethi %hi(__stack_chk_guard), %i053; SOLARIS32-NEXT:    ld [%i0+%lo(__stack_chk_guard)], %i154; SOLARIS32-NEXT:    st %i1, [%fp+-4]55; SOLARIS32-NEXT:    call capture56; SOLARIS32-NEXT:    add %fp, -8, %o057; SOLARIS32-NEXT:    ld [%i0+%lo(__stack_chk_guard)], %i058; SOLARIS32-NEXT:    ld [%fp+-4], %i159; SOLARIS32-NEXT:    cmp %i0, %i160; SOLARIS32-NEXT:    bne .LBB0_261; SOLARIS32-NEXT:    nop62; SOLARIS32-NEXT:  ! %bb.1:63; SOLARIS32-NEXT:    ret64; SOLARIS32-NEXT:    restore65; SOLARIS32-NEXT:  .LBB0_2:66; SOLARIS32-NEXT:    call __stack_chk_fail67; SOLARIS32-NEXT:    nop68;69; SOLARIS64-LABEL: func:70; SOLARIS64:       ! %bb.0:71; SOLARIS64-NEXT:    save %sp, -192, %sp72; SOLARIS64-NEXT:    sethi %h44(__stack_chk_guard), %i073; SOLARIS64-NEXT:    add %i0, %m44(__stack_chk_guard), %i074; SOLARIS64-NEXT:    sllx %i0, 12, %i075; SOLARIS64-NEXT:    ldx [%i0+%l44(__stack_chk_guard)], %i176; SOLARIS64-NEXT:    stx %i1, [%fp+2039]77; SOLARIS64-NEXT:    call capture78; SOLARIS64-NEXT:    add %fp, 2035, %o079; SOLARIS64-NEXT:    ldx [%i0+%l44(__stack_chk_guard)], %i080; SOLARIS64-NEXT:    ldx [%fp+2039], %i181; SOLARIS64-NEXT:    cmp %i0, %i182; SOLARIS64-NEXT:    bne %xcc, .LBB0_283; SOLARIS64-NEXT:    nop84; SOLARIS64-NEXT:  ! %bb.1:85; SOLARIS64-NEXT:    ret86; SOLARIS64-NEXT:    restore87; SOLARIS64-NEXT:  .LBB0_2:88; SOLARIS64-NEXT:    call __stack_chk_fail89; SOLARIS64-NEXT:    nop90;91; OPENBSD32-LABEL: func:92; OPENBSD32:       ! %bb.0:93; OPENBSD32-NEXT:    save %sp, -104, %sp94; OPENBSD32-NEXT:    sethi %hi(__guard_local), %i095; OPENBSD32-NEXT:    ld [%i0+%lo(__guard_local)], %i196; OPENBSD32-NEXT:    st %i1, [%fp+-4]97; OPENBSD32-NEXT:    call capture98; OPENBSD32-NEXT:    add %fp, -8, %o099; OPENBSD32-NEXT:    ld [%i0+%lo(__guard_local)], %i0100; OPENBSD32-NEXT:    ld [%fp+-4], %i1101; OPENBSD32-NEXT:    cmp %i0, %i1102; OPENBSD32-NEXT:    bne .LBB0_2103; OPENBSD32-NEXT:    nop104; OPENBSD32-NEXT:  ! %bb.1: ! %SP_return105; OPENBSD32-NEXT:    ret106; OPENBSD32-NEXT:    restore107; OPENBSD32-NEXT:  .LBB0_2: ! %CallStackCheckFailBlk108; OPENBSD32-NEXT:    sethi %hi(.LSSH), %i0109; OPENBSD32-NEXT:    call __stack_smash_handler110; OPENBSD32-NEXT:    add %i0, %lo(.LSSH), %o0111;112; OPENBSD64-LABEL: func:113; OPENBSD64:       ! %bb.0:114; OPENBSD64-NEXT:    save %sp, -192, %sp115; OPENBSD64-NEXT:    sethi %h44(__guard_local), %i0116; OPENBSD64-NEXT:    add %i0, %m44(__guard_local), %i0117; OPENBSD64-NEXT:    sllx %i0, 12, %i0118; OPENBSD64-NEXT:    ldx [%i0+%l44(__guard_local)], %i1119; OPENBSD64-NEXT:    stx %i1, [%fp+2039]120; OPENBSD64-NEXT:    call capture121; OPENBSD64-NEXT:    add %fp, 2035, %o0122; OPENBSD64-NEXT:    ldx [%i0+%l44(__guard_local)], %i0123; OPENBSD64-NEXT:    ldx [%fp+2039], %i1124; OPENBSD64-NEXT:    cmp %i0, %i1125; OPENBSD64-NEXT:    bne %xcc, .LBB0_2126; OPENBSD64-NEXT:    nop127; OPENBSD64-NEXT:  ! %bb.1: ! %SP_return128; OPENBSD64-NEXT:    ret129; OPENBSD64-NEXT:    restore130; OPENBSD64-NEXT:  .LBB0_2: ! %CallStackCheckFailBlk131; OPENBSD64-NEXT:    sethi %h44(.LSSH), %i0132; OPENBSD64-NEXT:    add %i0, %m44(.LSSH), %i0133; OPENBSD64-NEXT:    sllx %i0, 12, %i0134; OPENBSD64-NEXT:    call __stack_smash_handler135; OPENBSD64-NEXT:    add %i0, %l44(.LSSH), %o0136  %alloca = alloca i32, align 4137  call void @capture(ptr %alloca)138  ret void139}140 141declare void @capture(ptr)142