brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 0c8c3a3 Raw
106 lines · plain
1;; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2;; Test that Octeon BBIT family of branch can be replaced by3;; the long branch expansion pass.4 5; RUN: llc -O3 -mtriple=mips64-octeon-linux -mcpu=octeon -force-mips-long-branch < %s -o - | FileCheck %s6 7define i64 @bbit1(i64 %a) nounwind {8; CHECK-LABEL: bbit1:9; CHECK:       # %bb.0: # %entry10; CHECK-NEXT:    bbit0 $4, 3, .LBB0_211; CHECK-NEXT:    nop12; CHECK-NEXT:  # %bb.1: # %entry13; CHECK-NEXT:    j .LBB0_314; CHECK-NEXT:    nop15; CHECK-NEXT:  .LBB0_2: # %endif16; CHECK-NEXT:    jr $ra17; CHECK-NEXT:    daddiu $2, $zero, 1218; CHECK-NEXT:  .LBB0_3: # %if19; CHECK-NEXT:    jr $ra20; CHECK-NEXT:    daddiu $2, $zero, 4821entry:22  %bit = and i64 %a, 823  %res = icmp eq i64 %bit, 024  br i1 %res, label %endif, label %if25if:26  ret i64 4827 28endif:29  ret i64 1230}31 32define i64 @bbit132(i64 %a) nounwind {33; CHECK-LABEL: bbit132:34; CHECK:       # %bb.0: # %entry35; CHECK-NEXT:    bbit032 $4, 3, .LBB1_236; CHECK-NEXT:    nop37; CHECK-NEXT:  # %bb.1: # %entry38; CHECK-NEXT:    j .LBB1_339; CHECK-NEXT:    nop40; CHECK-NEXT:  .LBB1_2: # %endif41; CHECK-NEXT:    jr $ra42; CHECK-NEXT:    daddiu $2, $zero, 1243; CHECK-NEXT:  .LBB1_3: # %if44; CHECK-NEXT:    jr $ra45; CHECK-NEXT:    daddiu $2, $zero, 4846entry:47  %bit = and i64 %a, 3435973836848  %res = icmp eq i64 %bit, 049  br i1 %res, label %endif, label %if50if:51  ret i64 4852 53endif:54  ret i64 1255}56 57define i64 @bbit0(i64 %a) nounwind {58; CHECK-LABEL: bbit0:59; CHECK:       # %bb.0: # %entry60; CHECK-NEXT:    bbit1 $4, 3, .LBB2_261; CHECK-NEXT:    nop62; CHECK-NEXT:  # %bb.1: # %entry63; CHECK-NEXT:    j .LBB2_364; CHECK-NEXT:    nop65; CHECK-NEXT:  .LBB2_2: # %endif66; CHECK-NEXT:    jr $ra67; CHECK-NEXT:    daddiu $2, $zero, 1268; CHECK-NEXT:  .LBB2_3: # %if69; CHECK-NEXT:    jr $ra70; CHECK-NEXT:    daddiu $2, $zero, 4871entry:72  %bit = and i64 %a, 873  %res = icmp ne i64 %bit, 074  br i1 %res, label %endif, label %if75if:76  ret i64 4877 78endif:79  ret i64 1280}81 82define i64 @bbit032(i64 %a) nounwind {83; CHECK-LABEL: bbit032:84; CHECK:       # %bb.0: # %entry85; CHECK-NEXT:    bbit132 $4, 3, .LBB3_286; CHECK-NEXT:    nop87; CHECK-NEXT:  # %bb.1: # %entry88; CHECK-NEXT:    j .LBB3_389; CHECK-NEXT:    nop90; CHECK-NEXT:  .LBB3_2: # %endif91; CHECK-NEXT:    jr $ra92; CHECK-NEXT:    daddiu $2, $zero, 1293; CHECK-NEXT:  .LBB3_3: # %if94; CHECK-NEXT:    jr $ra95; CHECK-NEXT:    daddiu $2, $zero, 4896entry:97  %bit = and i64 %a, 3435973836898  %res = icmp ne i64 %bit, 099  br i1 %res, label %endif, label %if100if:101  ret i64 48102 103endif:104  ret i64 12105}106