brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · b4ab058 Raw
107 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple riscv32 -mattr=+experimental-zicfilp < %s | FileCheck %s3; RUN: llc -mtriple riscv64 -mattr=+experimental-zicfilp < %s | FileCheck %s4; RUN: llc -mtriple riscv32 < %s | FileCheck %s --check-prefix=NO-ZICFILP5; RUN: llc -mtriple riscv64 < %s | FileCheck %s --check-prefix=NO-ZICFILP6 7; Test using t2 to jump table branch.8define void @above_threshold(i32 signext %in, ptr %out) nounwind {9; CHECK-LABEL: above_threshold:10; CHECK:       # %bb.0: # %entry11; CHECK-NEXT:    lpad 012; CHECK-NEXT:    addi a0, a0, -113; CHECK-NEXT:    li a2, 514; CHECK-NEXT:    bltu a2, a0, .LBB0_915; CHECK-NEXT:  # %bb.1: # %entry16; CHECK-NEXT:    slli a0, a0, 217; CHECK-NEXT:    lui a2, %hi(.LJTI0_0)18; CHECK-NEXT:    addi a2, a2, %lo(.LJTI0_0)19; CHECK-NEXT:    add a0, a2, a020; CHECK-NEXT:    lw t2, 0(a0)21; CHECK-NEXT:    jr t222; CHECK-NEXT:  .LBB0_2: # %bb123; CHECK-NEXT:    li a0, 424; CHECK-NEXT:    j .LBB0_825; CHECK-NEXT:  .LBB0_3: # %bb526; CHECK-NEXT:    li a0, 10027; CHECK-NEXT:    j .LBB0_828; CHECK-NEXT:  .LBB0_4: # %bb329; CHECK-NEXT:    li a0, 230; CHECK-NEXT:    j .LBB0_831; CHECK-NEXT:  .LBB0_5: # %bb432; CHECK-NEXT:    li a0, 133; CHECK-NEXT:    j .LBB0_834; CHECK-NEXT:  .LBB0_6: # %bb235; CHECK-NEXT:    li a0, 336; CHECK-NEXT:    j .LBB0_837; CHECK-NEXT:  .LBB0_7: # %bb638; CHECK-NEXT:    li a0, 20039; CHECK-NEXT:  .LBB0_8: # %exit40; CHECK-NEXT:    sw a0, 0(a1)41; CHECK-NEXT:  .LBB0_9: # %exit42; CHECK-NEXT:    ret43;44; NO-ZICFILP-LABEL: above_threshold:45; NO-ZICFILP:       # %bb.0: # %entry46; NO-ZICFILP-NEXT:    addi a0, a0, -147; NO-ZICFILP-NEXT:    li a2, 548; NO-ZICFILP-NEXT:    bltu a2, a0, .LBB0_949; NO-ZICFILP-NEXT:  # %bb.1: # %entry50; NO-ZICFILP-NEXT:    slli a0, a0, 251; NO-ZICFILP-NEXT:    lui a2, %hi(.LJTI0_0)52; NO-ZICFILP-NEXT:    addi a2, a2, %lo(.LJTI0_0)53; NO-ZICFILP-NEXT:    add a0, a2, a054; NO-ZICFILP-NEXT:    lw a0, 0(a0)55; NO-ZICFILP-NEXT:    jr a056; NO-ZICFILP-NEXT:  .LBB0_2: # %bb157; NO-ZICFILP-NEXT:    li a0, 458; NO-ZICFILP-NEXT:    j .LBB0_859; NO-ZICFILP-NEXT:  .LBB0_3: # %bb560; NO-ZICFILP-NEXT:    li a0, 10061; NO-ZICFILP-NEXT:    j .LBB0_862; NO-ZICFILP-NEXT:  .LBB0_4: # %bb363; NO-ZICFILP-NEXT:    li a0, 264; NO-ZICFILP-NEXT:    j .LBB0_865; NO-ZICFILP-NEXT:  .LBB0_5: # %bb466; NO-ZICFILP-NEXT:    li a0, 167; NO-ZICFILP-NEXT:    j .LBB0_868; NO-ZICFILP-NEXT:  .LBB0_6: # %bb269; NO-ZICFILP-NEXT:    li a0, 370; NO-ZICFILP-NEXT:    j .LBB0_871; NO-ZICFILP-NEXT:  .LBB0_7: # %bb672; NO-ZICFILP-NEXT:    li a0, 20073; NO-ZICFILP-NEXT:  .LBB0_8: # %exit74; NO-ZICFILP-NEXT:    sw a0, 0(a1)75; NO-ZICFILP-NEXT:  .LBB0_9: # %exit76; NO-ZICFILP-NEXT:    ret77entry:78  switch i32 %in, label %exit [79    i32 1, label %bb180    i32 2, label %bb281    i32 3, label %bb382    i32 4, label %bb483    i32 5, label %bb584    i32 6, label %bb685  ]86bb1:87  store i32 4, ptr %out88  br label %exit89bb2:90  store i32 3, ptr %out91  br label %exit92bb3:93  store i32 2, ptr %out94  br label %exit95bb4:96  store i32 1, ptr %out97  br label %exit98bb5:99  store i32 100, ptr %out100  br label %exit101bb6:102  store i32 200, ptr %out103  br label %exit104exit:105  ret void106}107