brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.2 KiB · f88603b Raw
189 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc --mtriple=loongarch32 -mattr=-32s,+d --verify-machineinstrs < %s | FileCheck %s --check-prefix=LA32R3; RUN: llc --mtriple=loongarch32 -mattr=+32s,+d --verify-machineinstrs < %s | FileCheck %s --check-prefix=LA32S4; RUN: llc --mtriple=loongarch64 -mattr=+d --verify-machineinstrs < %s | FileCheck %s --check-prefix=LA645 6define i32 @relax_b18(i32 signext %a, i32 signext %b) {7; LA32R-LABEL: relax_b18:8; LA32R:       # %bb.0:9; LA32R-NEXT:    beq $a0, $a1, .LBB0_110; LA32R-NEXT:    b .LBB0_211; LA32R-NEXT:  .LBB0_1: # %iftrue12; LA32R-NEXT:    ori $a0, $zero, 113; LA32R-NEXT:    #APP14; LA32R-NEXT:    .space 104857615; LA32R-NEXT:    #NO_APP16; LA32R-NEXT:    ret17; LA32R-NEXT:  .LBB0_2: # %iffalse18; LA32R-NEXT:    move $a0, $zero19; LA32R-NEXT:    ret20;21; LA32S-LABEL: relax_b18:22; LA32S:       # %bb.0:23; LA32S-NEXT:    beq $a0, $a1, .LBB0_124; LA32S-NEXT:    b .LBB0_225; LA32S-NEXT:  .LBB0_1: # %iftrue26; LA32S-NEXT:    ori $a0, $zero, 127; LA32S-NEXT:    #APP28; LA32S-NEXT:    .space 104857629; LA32S-NEXT:    #NO_APP30; LA32S-NEXT:    ret31; LA32S-NEXT:  .LBB0_2: # %iffalse32; LA32S-NEXT:    move $a0, $zero33; LA32S-NEXT:    ret34;35; LA64-LABEL: relax_b18:36; LA64:       # %bb.0:37; LA64-NEXT:    beq $a0, $a1, .LBB0_138; LA64-NEXT:    b .LBB0_239; LA64-NEXT:  .LBB0_1: # %iftrue40; LA64-NEXT:    ori $a0, $zero, 141; LA64-NEXT:    #APP42; LA64-NEXT:    .space 104857643; LA64-NEXT:    #NO_APP44; LA64-NEXT:    ret45; LA64-NEXT:  .LBB0_2: # %iffalse46; LA64-NEXT:    move $a0, $zero47; LA64-NEXT:    ret48  %cond = icmp eq i32 %a, %b49  br i1 %cond, label %iftrue, label %iffalse50 51iftrue:52  call void asm sideeffect ".space 1048576", ""()53  ret i32 154 55iffalse:56  ret i32 057}58 59define i32 @relax_b23(i1 %a) {60; LA32R-LABEL: relax_b23:61; LA32R:       # %bb.0:62; LA32R-NEXT:    andi $a0, $a0, 163; LA32R-NEXT:    bne $a0, $zero, .LBB1_164; LA32R-NEXT:    b .LBB1_265; LA32R-NEXT:  .LBB1_1: # %iftrue66; LA32R-NEXT:    ori $a0, $zero, 167; LA32R-NEXT:    #APP68; LA32R-NEXT:    .space 1677721669; LA32R-NEXT:    #NO_APP70; LA32R-NEXT:    ret71; LA32R-NEXT:  .LBB1_2: # %iffalse72; LA32R-NEXT:    move $a0, $zero73; LA32R-NEXT:    ret74;75; LA32S-LABEL: relax_b23:76; LA32S:       # %bb.0:77; LA32S-NEXT:    andi $a0, $a0, 178; LA32S-NEXT:    bnez $a0, .LBB1_179; LA32S-NEXT:    b .LBB1_280; LA32S-NEXT:  .LBB1_1: # %iftrue81; LA32S-NEXT:    ori $a0, $zero, 182; LA32S-NEXT:    #APP83; LA32S-NEXT:    .space 1677721684; LA32S-NEXT:    #NO_APP85; LA32S-NEXT:    ret86; LA32S-NEXT:  .LBB1_2: # %iffalse87; LA32S-NEXT:    move $a0, $zero88; LA32S-NEXT:    ret89;90; LA64-LABEL: relax_b23:91; LA64:       # %bb.0:92; LA64-NEXT:    andi $a0, $a0, 193; LA64-NEXT:    bnez $a0, .LBB1_194; LA64-NEXT:    b .LBB1_295; LA64-NEXT:  .LBB1_1: # %iftrue96; LA64-NEXT:    ori $a0, $zero, 197; LA64-NEXT:    #APP98; LA64-NEXT:    .space 1677721699; LA64-NEXT:    #NO_APP100; LA64-NEXT:    ret101; LA64-NEXT:  .LBB1_2: # %iffalse102; LA64-NEXT:    move $a0, $zero103; LA64-NEXT:    ret104  br i1 %a, label %iftrue, label %iffalse105 106iftrue:107  call void asm sideeffect ".space 16777216", ""()108  ret i32 1109 110iffalse:111  ret i32 0112}113 114define i32 @relax_b28(i1 %a) {115; LA32R-LABEL: relax_b28:116; LA32R:       # %bb.0:117; LA32R-NEXT:    addi.w $sp, $sp, -16118; LA32R-NEXT:    .cfi_def_cfa_offset 16119; LA32R-NEXT:    andi $a0, $a0, 1120; LA32R-NEXT:    bne $a0, $zero, .LBB2_1121; LA32R-NEXT:  # %bb.3:122; LA32R-NEXT:    pcalau12i $a0, %pc_hi20(.LBB2_2)123; LA32R-NEXT:    addi.w $a0, $a0, %pc_lo12(.LBB2_2)124; LA32R-NEXT:    jr $a0125; LA32R-NEXT:  .LBB2_1: # %iftrue126; LA32R-NEXT:    ori $a0, $zero, 1127; LA32R-NEXT:    #APP128; LA32R-NEXT:    .space 536870912129; LA32R-NEXT:    #NO_APP130; LA32R-NEXT:    addi.w $sp, $sp, 16131; LA32R-NEXT:    ret132; LA32R-NEXT:  .LBB2_2: # %iffalse133; LA32R-NEXT:    move $a0, $zero134; LA32R-NEXT:    addi.w $sp, $sp, 16135; LA32R-NEXT:    ret136;137; LA32S-LABEL: relax_b28:138; LA32S:       # %bb.0:139; LA32S-NEXT:    addi.w $sp, $sp, -16140; LA32S-NEXT:    .cfi_def_cfa_offset 16141; LA32S-NEXT:    andi $a0, $a0, 1142; LA32S-NEXT:    bnez $a0, .LBB2_1143; LA32S-NEXT:  # %bb.3:144; LA32S-NEXT:    pcalau12i $a0, %pc_hi20(.LBB2_2)145; LA32S-NEXT:    addi.w $a0, $a0, %pc_lo12(.LBB2_2)146; LA32S-NEXT:    jr $a0147; LA32S-NEXT:  .LBB2_1: # %iftrue148; LA32S-NEXT:    ori $a0, $zero, 1149; LA32S-NEXT:    #APP150; LA32S-NEXT:    .space 536870912151; LA32S-NEXT:    #NO_APP152; LA32S-NEXT:    addi.w $sp, $sp, 16153; LA32S-NEXT:    ret154; LA32S-NEXT:  .LBB2_2: # %iffalse155; LA32S-NEXT:    move $a0, $zero156; LA32S-NEXT:    addi.w $sp, $sp, 16157; LA32S-NEXT:    ret158;159; LA64-LABEL: relax_b28:160; LA64:       # %bb.0:161; LA64-NEXT:    addi.d $sp, $sp, -16162; LA64-NEXT:    .cfi_def_cfa_offset 16163; LA64-NEXT:    andi $a0, $a0, 1164; LA64-NEXT:    bnez $a0, .LBB2_1165; LA64-NEXT:  # %bb.3:166; LA64-NEXT:    pcalau12i $a0, %pc_hi20(.LBB2_2)167; LA64-NEXT:    addi.d $a0, $a0, %pc_lo12(.LBB2_2)168; LA64-NEXT:    jr $a0169; LA64-NEXT:  .LBB2_1: # %iftrue170; LA64-NEXT:    ori $a0, $zero, 1171; LA64-NEXT:    #APP172; LA64-NEXT:    .space 536870912173; LA64-NEXT:    #NO_APP174; LA64-NEXT:    addi.d $sp, $sp, 16175; LA64-NEXT:    ret176; LA64-NEXT:  .LBB2_2: # %iffalse177; LA64-NEXT:    move $a0, $zero178; LA64-NEXT:    addi.d $sp, $sp, 16179; LA64-NEXT:    ret180  br i1 %a, label %iftrue, label %iffalse181 182iftrue:183  call void asm sideeffect ".space 536870912", ""()184  ret i32 1185 186iffalse:187  ret i32 0188}189