brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.0 KiB · 6d542f6 Raw
224 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=xtensa -disable-block-placement -verify-machineinstrs < %s \3; RUN:   | FileCheck %s4 5define i32 @brcc_sgt(i32 %a, i32 %b) nounwind {6; CHECK-LABEL: brcc_sgt:7; CHECK:         bge a3, a2, .LBB0_28; CHECK-NEXT:  # %bb.1: # %t19; CHECK-NEXT:    addi a2, a2, 410; CHECK-NEXT:    ret11; CHECK-NEXT:  .LBB0_2: # %t212; CHECK-NEXT:    addi a2, a3, 813; CHECK-NEXT:    ret14  %wb = icmp sgt i32 %a, %b15  br i1 %wb, label %t1, label %t216t1:17  %t1v = add i32 %a, 418  br label %exit19t2:20  %t2v = add i32 %b, 821  br label %exit22exit:23  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]24  ret i32 %v25}26 27define i32 @brcc_ugt(i32 %a, i32 %b) nounwind {28; CHECK-LABEL: brcc_ugt:29; CHECK:         bgeu a3, a2, .LBB1_230; CHECK-NEXT:  # %bb.1: # %t131; CHECK-NEXT:    addi a2, a2, 432; CHECK-NEXT:    ret33; CHECK-NEXT:  .LBB1_2: # %t234; CHECK-NEXT:    addi a2, a3, 835; CHECK-NEXT:    ret36  %wb = icmp ugt i32 %a, %b37  br i1 %wb, label %t1, label %t238t1:39  %t1v = add i32 %a, 440  br label %exit41t2:42  %t2v = add i32 %b, 843  br label %exit44exit:45  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]46  ret i32 %v47}48 49define i32 @brcc_sle(i32 %a, i32 %b) nounwind {50; CHECK-LABEL: brcc_sle:51; CHECK:         blt a3, a2, .LBB2_252; CHECK-NEXT:  # %bb.1: # %t153; CHECK-NEXT:    addi a2, a2, 454; CHECK-NEXT:    ret55; CHECK-NEXT:  .LBB2_2: # %t256; CHECK-NEXT:    addi a2, a3, 857; CHECK-NEXT:    ret58  %wb = icmp sle i32 %a, %b59  br i1 %wb, label %t1, label %t260t1:61  %t1v = add i32 %a, 462  br label %exit63t2:64  %t2v = add i32 %b, 865  br label %exit66exit:67  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]68  ret i32 %v69}70 71define i32 @brcc_ule(i32 %a, i32 %b) nounwind {72; CHECK-LABEL: brcc_ule:73; CHECK:         bltu a3, a2, .LBB3_274; CHECK-NEXT:  # %bb.1: # %t175; CHECK-NEXT:    addi a2, a2, 476; CHECK-NEXT:    ret77; CHECK-NEXT:  .LBB3_2: # %t278; CHECK-NEXT:    addi a2, a3, 879; CHECK-NEXT:    ret80  %wb = icmp ule i32 %a, %b81  br i1 %wb, label %t1, label %t282t1:83  %t1v = add i32 %a, 484  br label %exit85t2:86  %t2v = add i32 %b, 887  br label %exit88exit:89  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]90  ret i32 %v91}92 93define i32 @brcc_eq(i32 %a, i32 %b) nounwind {94; CHECK-LABEL: brcc_eq:95; CHECK:         bne a2, a3, .LBB4_296; CHECK-NEXT:  # %bb.1: # %t197; CHECK-NEXT:    addi a2, a2, 498; CHECK-NEXT:    ret99; CHECK-NEXT:  .LBB4_2: # %t2100; CHECK-NEXT:    addi a2, a3, 8101; CHECK-NEXT:    ret102  %wb = icmp eq i32 %a, %b103  br i1 %wb, label %t1, label %t2104t1:105  %t1v = add i32 %a, 4106  br label %exit107t2:108  %t2v = add i32 %b, 8109  br label %exit110exit:111  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]112  ret i32 %v113}114 115define i32 @brcc_ne(i32 %a, i32 %b) nounwind {116; CHECK-LABEL: brcc_ne:117; CHECK:         beq a2, a3, .LBB5_2118; CHECK-NEXT:  # %bb.1: # %t1119; CHECK-NEXT:    addi a2, a2, 4120; CHECK-NEXT:    ret121; CHECK-NEXT:  .LBB5_2: # %t2122; CHECK-NEXT:    addi a2, a3, 8123; CHECK-NEXT:    ret124  %wb = icmp ne i32 %a, %b125  br i1 %wb, label %t1, label %t2126t1:127  %t1v = add i32 %a, 4128  br label %exit129t2:130  %t2v = add i32 %b, 8131  br label %exit132exit:133  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]134  ret i32 %v135}136 137define i32 @brcc_ge(i32 %a, i32 %b) nounwind {138; CHECK-LABEL: brcc_ge:139; CHECK:         blt a2, a3, .LBB6_2140; CHECK-NEXT:  # %bb.1: # %t1141; CHECK-NEXT:    addi a2, a2, 4142; CHECK-NEXT:    ret143; CHECK-NEXT:  .LBB6_2: # %t2144; CHECK-NEXT:    addi a2, a3, 8145; CHECK-NEXT:    ret146  %wb = icmp sge i32 %a, %b147  br i1 %wb, label %t1, label %t2148t1:149  %t1v = add i32 %a, 4150  br label %exit151t2:152  %t2v = add i32 %b, 8153  br label %exit154exit:155  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]156  ret i32 %v157}158 159define i32 @brcc_lt(i32 %a, i32 %b) nounwind {160; CHECK-LABEL: brcc_lt:161; CHECK:         bge a2, a3, .LBB7_2162; CHECK-NEXT:  # %bb.1: # %t1163; CHECK-NEXT:    addi a2, a2, 4164; CHECK-NEXT:    ret165; CHECK-NEXT:  .LBB7_2: # %t2166; CHECK-NEXT:    addi a2, a3, 8167; CHECK-NEXT:    ret168  %wb = icmp slt i32 %a, %b169  br i1 %wb, label %t1, label %t2170t1:171  %t1v = add i32 %a, 4172  br label %exit173t2:174  %t2v = add i32 %b, 8175  br label %exit176exit:177  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]178  ret i32 %v179}180 181define i32 @brcc_uge(i32 %a, i32 %b) nounwind {182; CHECK-LABEL: brcc_uge:183; CHECK:         bltu a2, a3, .LBB8_2184; CHECK-NEXT:  # %bb.1: # %t1185; CHECK-NEXT:    addi a2, a2, 4186; CHECK-NEXT:    ret187; CHECK-NEXT:  .LBB8_2: # %t2188; CHECK-NEXT:    addi a2, a3, 8189; CHECK-NEXT:    ret190  %wb = icmp uge i32 %a, %b191  br i1 %wb, label %t1, label %t2192t1:193  %t1v = add i32 %a, 4194  br label %exit195t2:196  %t2v = add i32 %b, 8197  br label %exit198exit:199  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]200  ret i32 %v201}202 203define i32 @brcc_ult(i32 %a, i32 %b) nounwind {204; CHECK-LABEL: brcc_ult:205; CHECK:         bgeu a2, a3, .LBB9_2206; CHECK-NEXT:  # %bb.1: # %t1207; CHECK-NEXT:    addi a2, a2, 4208; CHECK-NEXT:    ret209; CHECK-NEXT:  .LBB9_2: # %t2210; CHECK-NEXT:    addi a2, a3, 8211; CHECK-NEXT:    ret212  %wb = icmp ult i32 %a, %b213  br i1 %wb, label %t1, label %t2214t1:215  %t1v = add i32 %a, 4216  br label %exit217t2:218  %t2v = add i32 %b, 8219  br label %exit220exit:221  %v = phi i32 [ %t1v, %t1 ], [ %t2v, %t2 ]222  ret i32 %v223}224