brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · e4912bb Raw
120 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 32; RUN: llc -mtriple=riscv32 -O2 -verify-machineinstrs < %s | FileCheck %s3; RUN: llc -mtriple=riscv64 -O2 -verify-machineinstrs < %s | FileCheck %s4 5define void @u_case1_a(ptr %a, i32 signext %b, ptr %c, ptr %d) {6; CHECK-LABEL: u_case1_a:7; CHECK:       # %bb.0:8; CHECK-NEXT:    li a4, 329; CHECK-NEXT:    sw a4, 0(a0)10; CHECK-NEXT:    bgeu a1, a4, .LBB0_211; CHECK-NEXT:  # %bb.1: # %block112; CHECK-NEXT:    sw a1, 0(a2)13; CHECK-NEXT:    ret14; CHECK-NEXT:  .LBB0_2: # %block215; CHECK-NEXT:    li a0, 8716; CHECK-NEXT:    sw a0, 0(a3)17; CHECK-NEXT:    ret18  store i32 32, ptr %a19  %p = icmp ule i32 %b, 3120  br i1 %p, label %block1, label %block221 22block1:                                           ; preds = %023  store i32 %b, ptr %c24  br label %end_block25 26block2:                                           ; preds = %027  store i32 87, ptr %d28  br label %end_block29 30end_block:                                        ; preds = %block2, %block131  ret void32}33 34define void @case1_a(ptr %a, i32 signext %b, ptr %c, ptr %d) {35; CHECK-LABEL: case1_a:36; CHECK:       # %bb.0:37; CHECK-NEXT:    li a4, -138; CHECK-NEXT:    sw a4, 0(a0)39; CHECK-NEXT:    bge a1, a4, .LBB1_240; CHECK-NEXT:  # %bb.1: # %block141; CHECK-NEXT:    sw a1, 0(a2)42; CHECK-NEXT:    ret43; CHECK-NEXT:  .LBB1_2: # %block244; CHECK-NEXT:    li a0, 8745; CHECK-NEXT:    sw a0, 0(a3)46; CHECK-NEXT:    ret47  store i32 -1, ptr %a48  %p = icmp sle i32 %b, -249  br i1 %p, label %block1, label %block250 51block1:                                           ; preds = %052  store i32 %b, ptr %c53  br label %end_block54 55block2:                                           ; preds = %056  store i32 87, ptr %d57  br label %end_block58 59end_block:                                        ; preds = %block2, %block160  ret void61}62 63define void @u_case2_a(ptr %a, i32 signext %b, ptr %c, ptr %d) {64; CHECK-LABEL: u_case2_a:65; CHECK:       # %bb.0:66; CHECK-NEXT:    li a4, 3267; CHECK-NEXT:    sw a4, 0(a0)68; CHECK-NEXT:    bgeu a4, a1, .LBB2_269; CHECK-NEXT:  # %bb.1: # %block170; CHECK-NEXT:    sw a1, 0(a2)71; CHECK-NEXT:    ret72; CHECK-NEXT:  .LBB2_2: # %block273; CHECK-NEXT:    li a0, 8774; CHECK-NEXT:    sw a0, 0(a3)75; CHECK-NEXT:    ret76  store i32 32, ptr %a77  %p = icmp uge i32 %b, 3378  br i1 %p, label %block1, label %block279 80block1:                                           ; preds = %081  store i32 %b, ptr %c82  br label %end_block83 84block2:                                           ; preds = %085  store i32 87, ptr %d86  br label %end_block87 88end_block:                                        ; preds = %block2, %block189  ret void90}91 92define void @case2_a(ptr %a, i32 signext %b, ptr %c, ptr %d) {93; CHECK-LABEL: case2_a:94; CHECK:       # %bb.0:95; CHECK-NEXT:    li a4, -496; CHECK-NEXT:    sw a4, 0(a0)97; CHECK-NEXT:    bge a4, a1, .LBB3_298; CHECK-NEXT:  # %bb.1: # %block199; CHECK-NEXT:    sw a1, 0(a2)100; CHECK-NEXT:    ret101; CHECK-NEXT:  .LBB3_2: # %block2102; CHECK-NEXT:    li a0, 87103; CHECK-NEXT:    sw a0, 0(a3)104; CHECK-NEXT:    ret105  store i32 -4, ptr %a106  %p = icmp sge i32 %b, -3107  br i1 %p, label %block1, label %block2108 109block1:                                           ; preds = %0110  store i32 %b, ptr %c111  br label %end_block112 113block2:                                           ; preds = %0114  store i32 87, ptr %d115  br label %end_block116 117end_block:                                        ; preds = %block2, %block1118  ret void119}120