brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.6 KiB · bd6c56b Raw
234 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s -mtriple=mips -relocation-model=static | \3; RUN: FileCheck %s -check-prefix=STATIC-O324; RUN: llc < %s -mtriple=mips -relocation-model=pic | \5; RUN: FileCheck %s -check-prefix=PIC-O326; RUN: llc < %s -mtriple=mips64 -relocation-model=pic -mcpu=mips4 | \7; RUN:     FileCheck %s -check-prefix=PIC-N648; RUN: llc < %s -mtriple=mips64 -relocation-model=static -mcpu=mips4 | \9; RUN:     FileCheck %s -check-prefix=STATIC-N6410; RUN: llc < %s -mtriple=mips64 -relocation-model=pic -mcpu=mips64 | \11; RUN:     FileCheck %s -check-prefix=PIC-N6412; RUN: llc < %s -mtriple=mips64 -relocation-model=static -mcpu=mips64 | \13; RUN:     FileCheck %s -check-prefix=STATIC-N6414 15define i32 @main() nounwind readnone {16; STATIC-O32-LABEL: main:17; STATIC-O32:       # %bb.0: # %entry18; STATIC-O32-NEXT:    addiu $sp, $sp, -819; STATIC-O32-NEXT:    addiu $1, $zero, 220; STATIC-O32-NEXT:    sw $1, 4($sp)21; STATIC-O32-NEXT:    lw $2, 4($sp)22; STATIC-O32-NEXT:    sltiu $1, $2, 423; STATIC-O32-NEXT:    beqz $1, $BB0_624; STATIC-O32-NEXT:    nop25; STATIC-O32-NEXT:  # %bb.1: # %entry26; STATIC-O32-NEXT:    sll $1, $2, 227; STATIC-O32-NEXT:    lui $2, %hi($JTI0_0)28; STATIC-O32-NEXT:    addu $1, $1, $229; STATIC-O32-NEXT:    lw $1, %lo($JTI0_0)($1)30; STATIC-O32-NEXT:    jr $131; STATIC-O32-NEXT:    nop32; STATIC-O32-NEXT:  $BB0_2: # %bb533; STATIC-O32-NEXT:    addiu $2, $zero, 134; STATIC-O32-NEXT:    jr $ra35; STATIC-O32-NEXT:    addiu $sp, $sp, 836; STATIC-O32-NEXT:  $BB0_3: # %bb237; STATIC-O32-NEXT:    addiu $2, $zero, 038; STATIC-O32-NEXT:    jr $ra39; STATIC-O32-NEXT:    addiu $sp, $sp, 840; STATIC-O32-NEXT:  $BB0_4: # %bb341; STATIC-O32-NEXT:    addiu $2, $zero, 342; STATIC-O32-NEXT:    jr $ra43; STATIC-O32-NEXT:    addiu $sp, $sp, 844; STATIC-O32-NEXT:  $BB0_5: # %bb145; STATIC-O32-NEXT:    addiu $2, $zero, 246; STATIC-O32-NEXT:    jr $ra47; STATIC-O32-NEXT:    addiu $sp, $sp, 848; STATIC-O32-NEXT:  $BB0_6: # %bb449; STATIC-O32-NEXT:    addiu $2, $zero, 450; STATIC-O32-NEXT:    jr $ra51; STATIC-O32-NEXT:    addiu $sp, $sp, 852;53; PIC-O32-LABEL: main:54; PIC-O32:       # %bb.0: # %entry55; PIC-O32-NEXT:    lui $2, %hi(_gp_disp)56; PIC-O32-NEXT:    addiu $2, $2, %lo(_gp_disp)57; PIC-O32-NEXT:    addiu $sp, $sp, -858; PIC-O32-NEXT:    addiu $1, $zero, 259; PIC-O32-NEXT:    sw $1, 4($sp)60; PIC-O32-NEXT:    lw $3, 4($sp)61; PIC-O32-NEXT:    sltiu $1, $3, 462; PIC-O32-NEXT:    beqz $1, $BB0_663; PIC-O32-NEXT:    addu $2, $2, $2564; PIC-O32-NEXT:  # %bb.1: # %entry65; PIC-O32-NEXT:    sll $1, $3, 266; PIC-O32-NEXT:    lw $3, %got($JTI0_0)($2)67; PIC-O32-NEXT:    addu $1, $1, $368; PIC-O32-NEXT:    lw $1, %lo($JTI0_0)($1)69; PIC-O32-NEXT:    addu $1, $2, $170; PIC-O32-NEXT:    jr $171; PIC-O32-NEXT:    nop72; PIC-O32-NEXT:  $BB0_2: # %bb573; PIC-O32-NEXT:    addiu $2, $zero, 174; PIC-O32-NEXT:    jr $ra75; PIC-O32-NEXT:    addiu $sp, $sp, 876; PIC-O32-NEXT:  $BB0_3: # %bb277; PIC-O32-NEXT:    addiu $2, $zero, 078; PIC-O32-NEXT:    jr $ra79; PIC-O32-NEXT:    addiu $sp, $sp, 880; PIC-O32-NEXT:  $BB0_4: # %bb381; PIC-O32-NEXT:    addiu $2, $zero, 382; PIC-O32-NEXT:    jr $ra83; PIC-O32-NEXT:    addiu $sp, $sp, 884; PIC-O32-NEXT:  $BB0_5: # %bb185; PIC-O32-NEXT:    addiu $2, $zero, 286; PIC-O32-NEXT:    jr $ra87; PIC-O32-NEXT:    addiu $sp, $sp, 888; PIC-O32-NEXT:  $BB0_6: # %bb489; PIC-O32-NEXT:    addiu $2, $zero, 490; PIC-O32-NEXT:    jr $ra91; PIC-O32-NEXT:    addiu $sp, $sp, 892;93; PIC-N64-LABEL: main:94; PIC-N64:       # %bb.0: # %entry95; PIC-N64-NEXT:    daddiu $sp, $sp, -1696; PIC-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(main)))97; PIC-N64-NEXT:    daddu $2, $1, $2598; PIC-N64-NEXT:    addiu $1, $zero, 299; PIC-N64-NEXT:    sw $1, 12($sp)100; PIC-N64-NEXT:    lw $1, 12($sp)101; PIC-N64-NEXT:    sltiu $4, $1, 4102; PIC-N64-NEXT:    dsll $3, $1, 32103; PIC-N64-NEXT:    beqz $4, .LBB0_6104; PIC-N64-NEXT:    nop105; PIC-N64-NEXT:  # %bb.1: # %entry106; PIC-N64-NEXT:    daddiu $1, $2, %lo(%neg(%gp_rel(main)))107; PIC-N64-NEXT:    dsrl $2, $3, 32108; PIC-N64-NEXT:    dsll $2, $2, 3109; PIC-N64-NEXT:    ld $3, %got_page(.LJTI0_0)($1)110; PIC-N64-NEXT:    daddu $2, $2, $3111; PIC-N64-NEXT:    ld $2, %got_ofst(.LJTI0_0)($2)112; PIC-N64-NEXT:    daddu $1, $1, $2113; PIC-N64-NEXT:    jr $1114; PIC-N64-NEXT:    nop115; PIC-N64-NEXT:  .LBB0_2: # %bb5116; PIC-N64-NEXT:    addiu $2, $zero, 1117; PIC-N64-NEXT:    jr $ra118; PIC-N64-NEXT:    daddiu $sp, $sp, 16119; PIC-N64-NEXT:  .LBB0_3: # %bb2120; PIC-N64-NEXT:    addiu $2, $zero, 0121; PIC-N64-NEXT:    jr $ra122; PIC-N64-NEXT:    daddiu $sp, $sp, 16123; PIC-N64-NEXT:  .LBB0_4: # %bb3124; PIC-N64-NEXT:    addiu $2, $zero, 3125; PIC-N64-NEXT:    jr $ra126; PIC-N64-NEXT:    daddiu $sp, $sp, 16127; PIC-N64-NEXT:  .LBB0_5: # %bb1128; PIC-N64-NEXT:    addiu $2, $zero, 2129; PIC-N64-NEXT:    jr $ra130; PIC-N64-NEXT:    daddiu $sp, $sp, 16131; PIC-N64-NEXT:  .LBB0_6: # %bb4132; PIC-N64-NEXT:    addiu $2, $zero, 4133; PIC-N64-NEXT:    jr $ra134; PIC-N64-NEXT:    daddiu $sp, $sp, 16135;136; STATIC-N64-LABEL: main:137; STATIC-N64:       # %bb.0: # %entry138; STATIC-N64-NEXT:    daddiu $sp, $sp, -16139; STATIC-N64-NEXT:    addiu $1, $zero, 2140; STATIC-N64-NEXT:    sw $1, 12($sp)141; STATIC-N64-NEXT:    lw $1, 12($sp)142; STATIC-N64-NEXT:    sltiu $3, $1, 4143; STATIC-N64-NEXT:    dsll $2, $1, 32144; STATIC-N64-NEXT:    beqz $3, .LBB0_6145; STATIC-N64-NEXT:    nop146; STATIC-N64-NEXT:  # %bb.1: # %entry147; STATIC-N64-NEXT:    dsrl $1, $2, 32148; STATIC-N64-NEXT:    dsll $1, $1, 3149; STATIC-N64-NEXT:    lui $2, %highest(.LJTI0_0)150; STATIC-N64-NEXT:    daddiu $2, $2, %higher(.LJTI0_0)151; STATIC-N64-NEXT:    dsll $2, $2, 16152; STATIC-N64-NEXT:    daddiu $2, $2, %hi(.LJTI0_0)153; STATIC-N64-NEXT:    dsll $2, $2, 16154; STATIC-N64-NEXT:    daddu $1, $1, $2155; STATIC-N64-NEXT:    ld $1, %lo(.LJTI0_0)($1)156; STATIC-N64-NEXT:    jr $1157; STATIC-N64-NEXT:    nop158; STATIC-N64-NEXT:  .LBB0_2: # %bb5159; STATIC-N64-NEXT:    addiu $2, $zero, 1160; STATIC-N64-NEXT:    jr $ra161; STATIC-N64-NEXT:    daddiu $sp, $sp, 16162; STATIC-N64-NEXT:  .LBB0_3: # %bb2163; STATIC-N64-NEXT:    addiu $2, $zero, 0164; STATIC-N64-NEXT:    jr $ra165; STATIC-N64-NEXT:    daddiu $sp, $sp, 16166; STATIC-N64-NEXT:  .LBB0_4: # %bb3167; STATIC-N64-NEXT:    addiu $2, $zero, 3168; STATIC-N64-NEXT:    jr $ra169; STATIC-N64-NEXT:    daddiu $sp, $sp, 16170; STATIC-N64-NEXT:  .LBB0_5: # %bb1171; STATIC-N64-NEXT:    addiu $2, $zero, 2172; STATIC-N64-NEXT:    jr $ra173; STATIC-N64-NEXT:    daddiu $sp, $sp, 16174; STATIC-N64-NEXT:  .LBB0_6: # %bb4175; STATIC-N64-NEXT:    addiu $2, $zero, 4176; STATIC-N64-NEXT:    jr $ra177; STATIC-N64-NEXT:    daddiu $sp, $sp, 16178entry:179  %x = alloca i32, align 4                        ; <ptr> [#uses=2]180  store volatile i32 2, ptr %x, align 4181  %0 = load volatile i32, ptr %x, align 4             ; <i32> [#uses=1]182 183 184 185  switch i32 %0, label %bb4 [186    i32 0, label %bb5187    i32 1, label %bb1188    i32 2, label %bb2189    i32 3, label %bb3190  ]191 192bb1:                                              ; preds = %entry193  ret i32 2194 195bb2:                                              ; preds = %entry196  ret i32 0197 198bb3:                                              ; preds = %entry199  ret i32 3200 201bb4:                                              ; preds = %entry202  ret i32 4203 204bb5:                                              ; preds = %entry205  ret i32 1206}207; UTC_ARGS: --disable208 209; STATIC-O32: .p2align  2210; STATIC-O32: $JTI0_0:211; STATIC-O32: .4byte212; STATIC-O32: .4byte213; STATIC-O32: .4byte214; STATIC-O32: .4byte215; PIC-O32: .p2align  2216; PIC-O32: $JTI0_0:217; PIC-O32: .gpword218; PIC-O32: .gpword219; PIC-O32: .gpword220; PIC-O32: .gpword221; STATIC-N64: .p2align  3222; STATIC-N64: LJTI0_0:223; STATIC-N64: .8byte224; STATIC-N64: .8byte225; STATIC-N64: .8byte226; STATIC-N64: .8byte227; PIC-N64: .p2align  3228; PIC-N64: .LJTI0_0:229; PIC-N64: .gpdword230; PIC-N64: .gpdword231; PIC-N64: .gpdword232; PIC-N64: .gpdword233 234