brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.7 KiB · d168076 Raw
173 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc  < %s -mtriple=mips-mti-linux-gnu -relocation-model=static \3; RUN:   -mips-tail-calls=1 -mcpu=mips32r2 -mattr=+use-indirect-jump-hazard \4; RUN:   -verify-machineinstrs | FileCheck %s --check-prefix=MIPS32R25; RUN: llc  < %s -mtriple=mips-img-linux-gnu -relocation-model=static \6; RUN:   -mips-tail-calls=1 -mcpu=mips32r6 -mattr=+use-indirect-jump-hazard \7; RUN:   -verify-machineinstrs | FileCheck %s --check-prefix=MIPS32R68; RUN: llc  < %s -mtriple=mips64-mti-linux-gnu -relocation-model=static \9; RUN:   -mips-tail-calls=1 -mcpu=mips64r2 -mattr=+use-indirect-jump-hazard \10; RUN:   -verify-machineinstrs | FileCheck %s --check-prefix=MIPS64R211; RUN: llc  < %s -mtriple=mips64-img-linux-gnu -relocation-model=static \12; RUN:   -mips-tail-calls=1 -mcpu=mips64r6 -mattr=+use-indirect-jump-hazard \13; RUN:   -verify-machineinstrs | FileCheck %s --check-prefix=MIPS64R614 15; RUN: llc  < %s -mtriple=mips-mti-linux-gnu -relocation-model=pic \16; RUN:   -mips-tail-calls=1 -mcpu=mips32r2 -mattr=+use-indirect-jump-hazard \17; RUN:   -verify-machineinstrs | FileCheck %s --check-prefix=PIC-MIPS32R218; RUN: llc  < %s -mtriple=mips-img-linux-gnu -relocation-model=pic \19; RUN:   -mips-tail-calls=1 -mcpu=mips32r6 -mattr=+use-indirect-jump-hazard \20; RUN:   -verify-machineinstrs | FileCheck %s --check-prefix=PIC-MIPS32R621; RUN: llc  < %s -mtriple=mips64-mti-linux-gnu -relocation-model=pic \22; RUN:   -mips-tail-calls=1 -mcpu=mips64r2 -mattr=+use-indirect-jump-hazard \23; RUN:   -verify-machineinstrs | FileCheck %s --check-prefix=PIC-MIPS64R224; RUN: llc  < %s -mtriple=mips64-img-linux-gnu -relocation-model=pic \25; RUN:   -mips-tail-calls=1 -mcpu=mips64r6 -mattr=+use-indirect-jump-hazard \26; RUN:   -verify-machineinstrs | FileCheck %s --check-prefix=PIC-MIPS64R627 28define void @fooNonTail(ptr nocapture %f1) nounwind {29; MIPS32R2-LABEL: fooNonTail:30; MIPS32R2:       # %bb.0: # %entry31; MIPS32R2-NEXT:    addiu $sp, $sp, -2432; MIPS32R2-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill33; MIPS32R2-NEXT:    move $25, $434; MIPS32R2-NEXT:    jalr.hb $2535; MIPS32R2-NEXT:    addiu $4, $zero, 1336; MIPS32R2-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload37; MIPS32R2-NEXT:    jr $ra38; MIPS32R2-NEXT:    addiu $sp, $sp, 2439;40; MIPS32R6-LABEL: fooNonTail:41; MIPS32R6:       # %bb.0: # %entry42; MIPS32R6-NEXT:    addiu $sp, $sp, -2443; MIPS32R6-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill44; MIPS32R6-NEXT:    move $25, $445; MIPS32R6-NEXT:    jalr.hb $2546; MIPS32R6-NEXT:    addiu $4, $zero, 1347; MIPS32R6-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload48; MIPS32R6-NEXT:    jr $ra49; MIPS32R6-NEXT:    addiu $sp, $sp, 2450;51; MIPS64R2-LABEL: fooNonTail:52; MIPS64R2:       # %bb.0: # %entry53; MIPS64R2-NEXT:    daddiu $sp, $sp, -1654; MIPS64R2-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill55; MIPS64R2-NEXT:    move $25, $456; MIPS64R2-NEXT:    jalr.hb $2557; MIPS64R2-NEXT:    daddiu $4, $zero, 1358; MIPS64R2-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload59; MIPS64R2-NEXT:    jr $ra60; MIPS64R2-NEXT:    daddiu $sp, $sp, 1661;62; MIPS64R6-LABEL: fooNonTail:63; MIPS64R6:       # %bb.0: # %entry64; MIPS64R6-NEXT:    daddiu $sp, $sp, -1665; MIPS64R6-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill66; MIPS64R6-NEXT:    move $25, $467; MIPS64R6-NEXT:    jalr.hb $2568; MIPS64R6-NEXT:    daddiu $4, $zero, 1369; MIPS64R6-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload70; MIPS64R6-NEXT:    jr $ra71; MIPS64R6-NEXT:    daddiu $sp, $sp, 1672;73; PIC-MIPS32R2-LABEL: fooNonTail:74; PIC-MIPS32R2:       # %bb.0: # %entry75; PIC-MIPS32R2-NEXT:    addiu $sp, $sp, -2476; PIC-MIPS32R2-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill77; PIC-MIPS32R2-NEXT:    move $25, $478; PIC-MIPS32R2-NEXT:    jalr.hb $2579; PIC-MIPS32R2-NEXT:    addiu $4, $zero, 1380; PIC-MIPS32R2-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload81; PIC-MIPS32R2-NEXT:    jr $ra82; PIC-MIPS32R2-NEXT:    addiu $sp, $sp, 2483;84; PIC-MIPS32R6-LABEL: fooNonTail:85; PIC-MIPS32R6:       # %bb.0: # %entry86; PIC-MIPS32R6-NEXT:    addiu $sp, $sp, -2487; PIC-MIPS32R6-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill88; PIC-MIPS32R6-NEXT:    move $25, $489; PIC-MIPS32R6-NEXT:    jalr.hb $2590; PIC-MIPS32R6-NEXT:    addiu $4, $zero, 1391; PIC-MIPS32R6-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload92; PIC-MIPS32R6-NEXT:    jr $ra93; PIC-MIPS32R6-NEXT:    addiu $sp, $sp, 2494;95; PIC-MIPS64R2-LABEL: fooNonTail:96; PIC-MIPS64R2:       # %bb.0: # %entry97; PIC-MIPS64R2-NEXT:    daddiu $sp, $sp, -1698; PIC-MIPS64R2-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill99; PIC-MIPS64R2-NEXT:    move $25, $4100; PIC-MIPS64R2-NEXT:    jalr.hb $25101; PIC-MIPS64R2-NEXT:    daddiu $4, $zero, 13102; PIC-MIPS64R2-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload103; PIC-MIPS64R2-NEXT:    jr $ra104; PIC-MIPS64R2-NEXT:    daddiu $sp, $sp, 16105;106; PIC-MIPS64R6-LABEL: fooNonTail:107; PIC-MIPS64R6:       # %bb.0: # %entry108; PIC-MIPS64R6-NEXT:    daddiu $sp, $sp, -16109; PIC-MIPS64R6-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill110; PIC-MIPS64R6-NEXT:    move $25, $4111; PIC-MIPS64R6-NEXT:    jalr.hb $25112; PIC-MIPS64R6-NEXT:    daddiu $4, $zero, 13113; PIC-MIPS64R6-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload114; PIC-MIPS64R6-NEXT:    jr $ra115; PIC-MIPS64R6-NEXT:    daddiu $sp, $sp, 16116entry:117  call void %f1(i32 13) nounwind118  ret void119}120 121define i32 @fooTail(ptr nocapture %f1) nounwind {122; MIPS32R2-LABEL: fooTail:123; MIPS32R2:       # %bb.0: # %entry124; MIPS32R2-NEXT:    move $25, $4125; MIPS32R2-NEXT:    jr.hb $25126; MIPS32R2-NEXT:    addiu $4, $zero, 14127;128; MIPS32R6-LABEL: fooTail:129; MIPS32R6:       # %bb.0: # %entry130; MIPS32R6-NEXT:    move $25, $4131; MIPS32R6-NEXT:    jr.hb $25132; MIPS32R6-NEXT:    addiu $4, $zero, 14133;134; MIPS64R2-LABEL: fooTail:135; MIPS64R2:       # %bb.0: # %entry136; MIPS64R2-NEXT:    move $25, $4137; MIPS64R2-NEXT:    jr.hb $25138; MIPS64R2-NEXT:    daddiu $4, $zero, 14139;140; MIPS64R6-LABEL: fooTail:141; MIPS64R6:       # %bb.0: # %entry142; MIPS64R6-NEXT:    move $25, $4143; MIPS64R6-NEXT:    jr.hb $25144; MIPS64R6-NEXT:    daddiu $4, $zero, 14145;146; PIC-MIPS32R2-LABEL: fooTail:147; PIC-MIPS32R2:       # %bb.0: # %entry148; PIC-MIPS32R2-NEXT:    move $25, $4149; PIC-MIPS32R2-NEXT:    jr.hb $25150; PIC-MIPS32R2-NEXT:    addiu $4, $zero, 14151;152; PIC-MIPS32R6-LABEL: fooTail:153; PIC-MIPS32R6:       # %bb.0: # %entry154; PIC-MIPS32R6-NEXT:    move $25, $4155; PIC-MIPS32R6-NEXT:    jr.hb $25156; PIC-MIPS32R6-NEXT:    addiu $4, $zero, 14157;158; PIC-MIPS64R2-LABEL: fooTail:159; PIC-MIPS64R2:       # %bb.0: # %entry160; PIC-MIPS64R2-NEXT:    move $25, $4161; PIC-MIPS64R2-NEXT:    jr.hb $25162; PIC-MIPS64R2-NEXT:    daddiu $4, $zero, 14163;164; PIC-MIPS64R6-LABEL: fooTail:165; PIC-MIPS64R6:       # %bb.0: # %entry166; PIC-MIPS64R6-NEXT:    move $25, $4167; PIC-MIPS64R6-NEXT:    jr.hb $25168; PIC-MIPS64R6-NEXT:    daddiu $4, $zero, 14169entry:170   %0 = tail call i32 %f1(i32 14) nounwind171   ret i32 %0172}173