brintos

brintos / llvm-project-archived public Read only

0
0
Text · 17.0 KiB · cd8bc9b Raw
552 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -mattr=+e -verify-machineinstrs -filetype=obj < %s \3; RUN:   -o /dev/null 2>&14; RUN: llc -mtriple=riscv32 -mattr=+e -relocation-model=pic -verify-machineinstrs \5; RUN:   -filetype=obj < %s -o /dev/null 2>&16; RUN: llc -mtriple=riscv32 -mattr=+e -verify-machineinstrs < %s \7; RUN:   | FileCheck %s8; RUN: llc -mtriple=riscv32 -mattr=+e -relocation-model=pic -verify-machineinstrs < %s \9; RUN:   | FileCheck %s10 11define void @relax_bcc(i1 %a) nounwind {12; CHECK-LABEL: relax_bcc:13; CHECK:       # %bb.0:14; CHECK-NEXT:    andi a0, a0, 115; CHECK-NEXT:    bnez a0, .LBB0_116; CHECK-NEXT:    j .LBB0_217; CHECK-NEXT:  .LBB0_1: # %iftrue18; CHECK-NEXT:    #APP19; CHECK-NEXT:    .zero 409620; CHECK-NEXT:    #NO_APP21; CHECK-NEXT:  .LBB0_2: # %tail22; CHECK-NEXT:    ret23  br i1 %a, label %iftrue, label %tail24 25iftrue:26  call void asm sideeffect ".space 4096", ""()27  br label %tail28 29tail:30  ret void31}32 33define i32 @relax_jal(i1 %a) nounwind {34; CHECK-LABEL: relax_jal:35; CHECK:       # %bb.0:36; CHECK-NEXT:    addi sp, sp, -437; CHECK-NEXT:    andi a0, a0, 138; CHECK-NEXT:    bnez a0, .LBB1_139; CHECK-NEXT:  # %bb.4:40; CHECK-NEXT:    jump .LBB1_2, a041; CHECK-NEXT:  .LBB1_1: # %iftrue42; CHECK-NEXT:    #APP43; CHECK-NEXT:    #NO_APP44; CHECK-NEXT:    #APP45; CHECK-NEXT:    .zero 104857646; CHECK-NEXT:    #NO_APP47; CHECK-NEXT:    j .LBB1_348; CHECK-NEXT:  .LBB1_2: # %jmp49; CHECK-NEXT:    #APP50; CHECK-NEXT:    #NO_APP51; CHECK-NEXT:  .LBB1_3: # %tail52; CHECK-NEXT:    li a0, 153; CHECK-NEXT:    addi sp, sp, 454; CHECK-NEXT:    ret55  br i1 %a, label %iftrue, label %jmp56 57jmp:58  call void asm sideeffect "", ""()59  br label %tail60 61iftrue:62  call void asm sideeffect "", ""()63  br label %space64 65space:66  call void asm sideeffect ".space 1048576", ""()67  br label %tail68 69tail:70  ret i32 171}72 73define void @relax_jal_spill_32() {74; CHECK-LABEL: relax_jal_spill_32:75; CHECK:       # %bb.0:76; CHECK-NEXT:    addi sp, sp, -1677; CHECK-NEXT:    .cfi_def_cfa_offset 1678; CHECK-NEXT:    sw ra, 12(sp) # 4-byte Folded Spill79; CHECK-NEXT:    sw s0, 8(sp) # 4-byte Folded Spill80; CHECK-NEXT:    sw s1, 4(sp) # 4-byte Folded Spill81; CHECK-NEXT:    .cfi_offset ra, -482; CHECK-NEXT:    .cfi_offset s0, -883; CHECK-NEXT:    .cfi_offset s1, -1284; CHECK-NEXT:    #APP85; CHECK-NEXT:    li ra, 186; CHECK-NEXT:    #NO_APP87; CHECK-NEXT:    #APP88; CHECK-NEXT:    li t0, 589; CHECK-NEXT:    #NO_APP90; CHECK-NEXT:    #APP91; CHECK-NEXT:    li t1, 692; CHECK-NEXT:    #NO_APP93; CHECK-NEXT:    #APP94; CHECK-NEXT:    li t2, 795; CHECK-NEXT:    #NO_APP96; CHECK-NEXT:    #APP97; CHECK-NEXT:    li s0, 898; CHECK-NEXT:    #NO_APP99; CHECK-NEXT:    #APP100; CHECK-NEXT:    li s1, 9101; CHECK-NEXT:    #NO_APP102; CHECK-NEXT:    #APP103; CHECK-NEXT:    li a0, 10104; CHECK-NEXT:    #NO_APP105; CHECK-NEXT:    #APP106; CHECK-NEXT:    li a1, 11107; CHECK-NEXT:    #NO_APP108; CHECK-NEXT:    #APP109; CHECK-NEXT:    li a2, 12110; CHECK-NEXT:    #NO_APP111; CHECK-NEXT:    #APP112; CHECK-NEXT:    li a3, 13113; CHECK-NEXT:    #NO_APP114; CHECK-NEXT:    #APP115; CHECK-NEXT:    li a4, 14116; CHECK-NEXT:    #NO_APP117; CHECK-NEXT:    #APP118; CHECK-NEXT:    li a5, 15119; CHECK-NEXT:    #NO_APP120; CHECK-NEXT:    beq a4, a5, .LBB2_1121; CHECK-NEXT:  # %bb.3:122; CHECK-NEXT:    sw s1, 0(sp) # 4-byte Folded Spill123; CHECK-NEXT:    jump .LBB2_4, s1124; CHECK-NEXT:  .LBB2_1: # %branch_1125; CHECK-NEXT:    #APP126; CHECK-NEXT:    .zero 1048576127; CHECK-NEXT:    #NO_APP128; CHECK-NEXT:    j .LBB2_2129; CHECK-NEXT:  .LBB2_4: # %branch_2130; CHECK-NEXT:    lw s1, 0(sp) # 4-byte Folded Reload131; CHECK-NEXT:  .LBB2_2: # %branch_2132; CHECK-NEXT:    #APP133; CHECK-NEXT:    # reg use ra134; CHECK-NEXT:    #NO_APP135; CHECK-NEXT:    #APP136; CHECK-NEXT:    # reg use t0137; CHECK-NEXT:    #NO_APP138; CHECK-NEXT:    #APP139; CHECK-NEXT:    # reg use t1140; CHECK-NEXT:    #NO_APP141; CHECK-NEXT:    #APP142; CHECK-NEXT:    # reg use t2143; CHECK-NEXT:    #NO_APP144; CHECK-NEXT:    #APP145; CHECK-NEXT:    # reg use s0146; CHECK-NEXT:    #NO_APP147; CHECK-NEXT:    #APP148; CHECK-NEXT:    # reg use s1149; CHECK-NEXT:    #NO_APP150; CHECK-NEXT:    #APP151; CHECK-NEXT:    # reg use a0152; CHECK-NEXT:    #NO_APP153; CHECK-NEXT:    #APP154; CHECK-NEXT:    # reg use a1155; CHECK-NEXT:    #NO_APP156; CHECK-NEXT:    #APP157; CHECK-NEXT:    # reg use a2158; CHECK-NEXT:    #NO_APP159; CHECK-NEXT:    #APP160; CHECK-NEXT:    # reg use a3161; CHECK-NEXT:    #NO_APP162; CHECK-NEXT:    #APP163; CHECK-NEXT:    # reg use a4164; CHECK-NEXT:    #NO_APP165; CHECK-NEXT:    #APP166; CHECK-NEXT:    # reg use a5167; CHECK-NEXT:    #NO_APP168; CHECK-NEXT:    lw ra, 12(sp) # 4-byte Folded Reload169; CHECK-NEXT:    lw s0, 8(sp) # 4-byte Folded Reload170; CHECK-NEXT:    lw s1, 4(sp) # 4-byte Folded Reload171; CHECK-NEXT:    .cfi_restore ra172; CHECK-NEXT:    .cfi_restore s0173; CHECK-NEXT:    .cfi_restore s1174; CHECK-NEXT:    addi sp, sp, 16175; CHECK-NEXT:    .cfi_def_cfa_offset 0176; CHECK-NEXT:    ret177  %ra = call i32 asm sideeffect "addi ra, x0, 1", "={ra}"()178  %t0 = call i32 asm sideeffect "addi t0, x0, 5", "={t0}"()179  %t1 = call i32 asm sideeffect "addi t1, x0, 6", "={t1}"()180  %t2 = call i32 asm sideeffect "addi t2, x0, 7", "={t2}"()181  %s0 = call i32 asm sideeffect "addi s0, x0, 8", "={s0}"()182  %s1 = call i32 asm sideeffect "addi s1, x0, 9", "={s1}"()183  %a0 = call i32 asm sideeffect "addi a0, x0, 10", "={a0}"()184  %a1 = call i32 asm sideeffect "addi a1, x0, 11", "={a1}"()185  %a2 = call i32 asm sideeffect "addi a2, x0, 12", "={a2}"()186  %a3 = call i32 asm sideeffect "addi a3, x0, 13", "={a3}"()187  %a4 = call i32 asm sideeffect "addi a4, x0, 14", "={a4}"()188  %a5 = call i32 asm sideeffect "addi a5, x0, 15", "={a5}"()189 190  %cmp = icmp eq i32 %a4, %a5191  br i1 %cmp, label %branch_1, label %branch_2192 193branch_1:194  call void asm sideeffect ".space 1048576", ""()195  br label %branch_2196 197branch_2:198  call void asm sideeffect "# reg use $0", "{ra}"(i32 %ra)199  call void asm sideeffect "# reg use $0", "{t0}"(i32 %t0)200  call void asm sideeffect "# reg use $0", "{t1}"(i32 %t1)201  call void asm sideeffect "# reg use $0", "{t2}"(i32 %t2)202  call void asm sideeffect "# reg use $0", "{s0}"(i32 %s0)203  call void asm sideeffect "# reg use $0", "{s1}"(i32 %s1)204  call void asm sideeffect "# reg use $0", "{a0}"(i32 %a0)205  call void asm sideeffect "# reg use $0", "{a1}"(i32 %a1)206  call void asm sideeffect "# reg use $0", "{a2}"(i32 %a2)207  call void asm sideeffect "# reg use $0", "{a3}"(i32 %a3)208  call void asm sideeffect "# reg use $0", "{a4}"(i32 %a4)209  call void asm sideeffect "# reg use $0", "{a5}"(i32 %a5)210 211  ret void212}213 214define void @relax_jal_spill_32_adjust_spill_slot() {215  ; If the stack is large and the offset of BranchRelaxationScratchFrameIndex216  ; is out the range of 12-bit signed integer, check whether the spill slot is217  ; adjusted to close to the stack base register.218; CHECK-LABEL: relax_jal_spill_32_adjust_spill_slot:219; CHECK:       # %bb.0:220; CHECK-NEXT:    addi sp, sp, -2044221; CHECK-NEXT:    .cfi_def_cfa_offset 2044222; CHECK-NEXT:    sw ra, 2040(sp) # 4-byte Folded Spill223; CHECK-NEXT:    sw s0, 2036(sp) # 4-byte Folded Spill224; CHECK-NEXT:    sw s1, 2032(sp) # 4-byte Folded Spill225; CHECK-NEXT:    .cfi_offset ra, -4226; CHECK-NEXT:    .cfi_offset s0, -8227; CHECK-NEXT:    .cfi_offset s1, -12228; CHECK-NEXT:    addi s0, sp, 2044229; CHECK-NEXT:    .cfi_def_cfa s0, 0230; CHECK-NEXT:    lui a0, 2231; CHECK-NEXT:    addi a0, a0, -2044232; CHECK-NEXT:    sub sp, sp, a0233; CHECK-NEXT:    srli a0, sp, 12234; CHECK-NEXT:    slli sp, a0, 12235; CHECK-NEXT:    #APP236; CHECK-NEXT:    li ra, 1237; CHECK-NEXT:    #NO_APP238; CHECK-NEXT:    #APP239; CHECK-NEXT:    li t0, 5240; CHECK-NEXT:    #NO_APP241; CHECK-NEXT:    #APP242; CHECK-NEXT:    li t1, 6243; CHECK-NEXT:    #NO_APP244; CHECK-NEXT:    #APP245; CHECK-NEXT:    li t2, 7246; CHECK-NEXT:    #NO_APP247; CHECK-NEXT:    #APP248; CHECK-NEXT:    li s0, 8249; CHECK-NEXT:    #NO_APP250; CHECK-NEXT:    #APP251; CHECK-NEXT:    li s1, 9252; CHECK-NEXT:    #NO_APP253; CHECK-NEXT:    #APP254; CHECK-NEXT:    li a0, 10255; CHECK-NEXT:    #NO_APP256; CHECK-NEXT:    #APP257; CHECK-NEXT:    li a1, 11258; CHECK-NEXT:    #NO_APP259; CHECK-NEXT:    #APP260; CHECK-NEXT:    li a2, 12261; CHECK-NEXT:    #NO_APP262; CHECK-NEXT:    #APP263; CHECK-NEXT:    li a3, 13264; CHECK-NEXT:    #NO_APP265; CHECK-NEXT:    #APP266; CHECK-NEXT:    li a4, 14267; CHECK-NEXT:    #NO_APP268; CHECK-NEXT:    #APP269; CHECK-NEXT:    li a5, 15270; CHECK-NEXT:    #NO_APP271; CHECK-NEXT:    beq a4, a5, .LBB3_1272; CHECK-NEXT:  # %bb.3:273; CHECK-NEXT:    sw s1, 0(sp) # 4-byte Folded Spill274; CHECK-NEXT:    jump .LBB3_4, s1275; CHECK-NEXT:  .LBB3_1: # %branch_1276; CHECK-NEXT:    #APP277; CHECK-NEXT:    .zero 1048576278; CHECK-NEXT:    #NO_APP279; CHECK-NEXT:    j .LBB3_2280; CHECK-NEXT:  .LBB3_4: # %branch_2281; CHECK-NEXT:    lw s1, 0(sp) # 4-byte Folded Reload282; CHECK-NEXT:  .LBB3_2: # %branch_2283; CHECK-NEXT:    #APP284; CHECK-NEXT:    # reg use ra285; CHECK-NEXT:    #NO_APP286; CHECK-NEXT:    #APP287; CHECK-NEXT:    # reg use t0288; CHECK-NEXT:    #NO_APP289; CHECK-NEXT:    #APP290; CHECK-NEXT:    # reg use t1291; CHECK-NEXT:    #NO_APP292; CHECK-NEXT:    #APP293; CHECK-NEXT:    # reg use t2294; CHECK-NEXT:    #NO_APP295; CHECK-NEXT:    #APP296; CHECK-NEXT:    # reg use s0297; CHECK-NEXT:    #NO_APP298; CHECK-NEXT:    #APP299; CHECK-NEXT:    # reg use s1300; CHECK-NEXT:    #NO_APP301; CHECK-NEXT:    #APP302; CHECK-NEXT:    # reg use a0303; CHECK-NEXT:    #NO_APP304; CHECK-NEXT:    #APP305; CHECK-NEXT:    # reg use a1306; CHECK-NEXT:    #NO_APP307; CHECK-NEXT:    #APP308; CHECK-NEXT:    # reg use a2309; CHECK-NEXT:    #NO_APP310; CHECK-NEXT:    #APP311; CHECK-NEXT:    # reg use a3312; CHECK-NEXT:    #NO_APP313; CHECK-NEXT:    #APP314; CHECK-NEXT:    # reg use a4315; CHECK-NEXT:    #NO_APP316; CHECK-NEXT:    #APP317; CHECK-NEXT:    # reg use a5318; CHECK-NEXT:    #NO_APP319; CHECK-NEXT:    addi sp, s0, -2044320; CHECK-NEXT:    .cfi_def_cfa sp, 2044321; CHECK-NEXT:    lw ra, 2040(sp) # 4-byte Folded Reload322; CHECK-NEXT:    lw s0, 2036(sp) # 4-byte Folded Reload323; CHECK-NEXT:    lw s1, 2032(sp) # 4-byte Folded Reload324; CHECK-NEXT:    .cfi_restore ra325; CHECK-NEXT:    .cfi_restore s0326; CHECK-NEXT:    .cfi_restore s1327; CHECK-NEXT:    addi sp, sp, 2044328; CHECK-NEXT:    .cfi_def_cfa_offset 0329; CHECK-NEXT:    ret330  %stack_obj = alloca i32, align 4096331 332  %ra = call i32 asm sideeffect "addi ra, x0, 1", "={ra}"()333  %t0 = call i32 asm sideeffect "addi t0, x0, 5", "={t0}"()334  %t1 = call i32 asm sideeffect "addi t1, x0, 6", "={t1}"()335  %t2 = call i32 asm sideeffect "addi t2, x0, 7", "={t2}"()336  %s0 = call i32 asm sideeffect "addi s0, x0, 8", "={s0}"()337  %s1 = call i32 asm sideeffect "addi s1, x0, 9", "={s1}"()338  %a0 = call i32 asm sideeffect "addi a0, x0, 10", "={a0}"()339  %a1 = call i32 asm sideeffect "addi a1, x0, 11", "={a1}"()340  %a2 = call i32 asm sideeffect "addi a2, x0, 12", "={a2}"()341  %a3 = call i32 asm sideeffect "addi a3, x0, 13", "={a3}"()342  %a4 = call i32 asm sideeffect "addi a4, x0, 14", "={a4}"()343  %a5 = call i32 asm sideeffect "addi a5, x0, 15", "={a5}"()344 345  %cmp = icmp eq i32 %a4, %a5346  br i1 %cmp, label %branch_1, label %branch_2347 348branch_1:349  call void asm sideeffect ".space 1048576", ""()350  br label %branch_2351 352branch_2:353  call void asm sideeffect "# reg use $0", "{ra}"(i32 %ra)354  call void asm sideeffect "# reg use $0", "{t0}"(i32 %t0)355  call void asm sideeffect "# reg use $0", "{t1}"(i32 %t1)356  call void asm sideeffect "# reg use $0", "{t2}"(i32 %t2)357  call void asm sideeffect "# reg use $0", "{s0}"(i32 %s0)358  call void asm sideeffect "# reg use $0", "{s1}"(i32 %s1)359  call void asm sideeffect "# reg use $0", "{a0}"(i32 %a0)360  call void asm sideeffect "# reg use $0", "{a1}"(i32 %a1)361  call void asm sideeffect "# reg use $0", "{a2}"(i32 %a2)362  call void asm sideeffect "# reg use $0", "{a3}"(i32 %a3)363  call void asm sideeffect "# reg use $0", "{a4}"(i32 %a4)364  call void asm sideeffect "# reg use $0", "{a5}"(i32 %a5)365 366  ret void367}368 369define void @relax_jal_spill_32_restore_block_correspondence() {370; CHECK-LABEL: relax_jal_spill_32_restore_block_correspondence:371; CHECK:       # %bb.0: # %entry372; CHECK-NEXT:    addi sp, sp, -16373; CHECK-NEXT:    .cfi_def_cfa_offset 16374; CHECK-NEXT:    sw ra, 12(sp) # 4-byte Folded Spill375; CHECK-NEXT:    sw s0, 8(sp) # 4-byte Folded Spill376; CHECK-NEXT:    sw s1, 4(sp) # 4-byte Folded Spill377; CHECK-NEXT:    .cfi_offset ra, -4378; CHECK-NEXT:    .cfi_offset s0, -8379; CHECK-NEXT:    .cfi_offset s1, -12380; CHECK-NEXT:    .cfi_remember_state381; CHECK-NEXT:    #APP382; CHECK-NEXT:    li ra, 1383; CHECK-NEXT:    #NO_APP384; CHECK-NEXT:    #APP385; CHECK-NEXT:    li t0, 5386; CHECK-NEXT:    #NO_APP387; CHECK-NEXT:    #APP388; CHECK-NEXT:    li t1, 6389; CHECK-NEXT:    #NO_APP390; CHECK-NEXT:    #APP391; CHECK-NEXT:    li t2, 7392; CHECK-NEXT:    #NO_APP393; CHECK-NEXT:    #APP394; CHECK-NEXT:    li s0, 8395; CHECK-NEXT:    #NO_APP396; CHECK-NEXT:    #APP397; CHECK-NEXT:    li s1, 9398; CHECK-NEXT:    #NO_APP399; CHECK-NEXT:    #APP400; CHECK-NEXT:    li a0, 10401; CHECK-NEXT:    #NO_APP402; CHECK-NEXT:    #APP403; CHECK-NEXT:    li a1, 11404; CHECK-NEXT:    #NO_APP405; CHECK-NEXT:    #APP406; CHECK-NEXT:    li a2, 12407; CHECK-NEXT:    #NO_APP408; CHECK-NEXT:    #APP409; CHECK-NEXT:    li a3, 13410; CHECK-NEXT:    #NO_APP411; CHECK-NEXT:    #APP412; CHECK-NEXT:    li a4, 14413; CHECK-NEXT:    #NO_APP414; CHECK-NEXT:    #APP415; CHECK-NEXT:    li a5, 15416; CHECK-NEXT:    #NO_APP417; CHECK-NEXT:    bne a4, a5, .LBB4_2418; CHECK-NEXT:    j .LBB4_1419; CHECK-NEXT:  .LBB4_8: # %dest_1420; CHECK-NEXT:    lw s1, 0(sp) # 4-byte Folded Reload421; CHECK-NEXT:  .LBB4_1: # %dest_1422; CHECK-NEXT:    #APP423; CHECK-NEXT:    # dest 1424; CHECK-NEXT:    #NO_APP425; CHECK-NEXT:    j .LBB4_3426; CHECK-NEXT:  .LBB4_2: # %cond_2427; CHECK-NEXT:    bne a2, a3, .LBB4_5428; CHECK-NEXT:  .LBB4_3: # %dest_2429; CHECK-NEXT:    #APP430; CHECK-NEXT:    # dest 2431; CHECK-NEXT:    #NO_APP432; CHECK-NEXT:  .LBB4_4: # %dest_3433; CHECK-NEXT:    #APP434; CHECK-NEXT:    # dest 3435; CHECK-NEXT:    #NO_APP436; CHECK-NEXT:    #APP437; CHECK-NEXT:    # reg use ra438; CHECK-NEXT:    #NO_APP439; CHECK-NEXT:    #APP440; CHECK-NEXT:    # reg use t0441; CHECK-NEXT:    #NO_APP442; CHECK-NEXT:    #APP443; CHECK-NEXT:    # reg use t1444; CHECK-NEXT:    #NO_APP445; CHECK-NEXT:    #APP446; CHECK-NEXT:    # reg use t2447; CHECK-NEXT:    #NO_APP448; CHECK-NEXT:    #APP449; CHECK-NEXT:    # reg use s0450; CHECK-NEXT:    #NO_APP451; CHECK-NEXT:    #APP452; CHECK-NEXT:    # reg use s1453; CHECK-NEXT:    #NO_APP454; CHECK-NEXT:    #APP455; CHECK-NEXT:    # reg use a0456; CHECK-NEXT:    #NO_APP457; CHECK-NEXT:    #APP458; CHECK-NEXT:    # reg use a1459; CHECK-NEXT:    #NO_APP460; CHECK-NEXT:    #APP461; CHECK-NEXT:    # reg use a2462; CHECK-NEXT:    #NO_APP463; CHECK-NEXT:    #APP464; CHECK-NEXT:    # reg use a3465; CHECK-NEXT:    #NO_APP466; CHECK-NEXT:    #APP467; CHECK-NEXT:    # reg use a4468; CHECK-NEXT:    #NO_APP469; CHECK-NEXT:    #APP470; CHECK-NEXT:    # reg use a5471; CHECK-NEXT:    #NO_APP472; CHECK-NEXT:    lw ra, 12(sp) # 4-byte Folded Reload473; CHECK-NEXT:    lw s0, 8(sp) # 4-byte Folded Reload474; CHECK-NEXT:    lw s1, 4(sp) # 4-byte Folded Reload475; CHECK-NEXT:    .cfi_restore ra476; CHECK-NEXT:    .cfi_restore s0477; CHECK-NEXT:    .cfi_restore s1478; CHECK-NEXT:    addi sp, sp, 16479; CHECK-NEXT:    .cfi_def_cfa_offset 0480; CHECK-NEXT:    ret481; CHECK-NEXT:  .LBB4_5: # %cond_3482; CHECK-NEXT:    .cfi_restore_state483; CHECK-NEXT:    beq t1, t2, .LBB4_4484; CHECK-NEXT:  # %bb.6: # %space485; CHECK-NEXT:    #APP486; CHECK-NEXT:    .zero 1048576487; CHECK-NEXT:    #NO_APP488; CHECK-NEXT:  # %bb.7: # %space489; CHECK-NEXT:    sw s1, 0(sp) # 4-byte Folded Spill490; CHECK-NEXT:    jump .LBB4_8, s1491entry:492  %ra = call i32 asm sideeffect "addi ra, x0, 1", "={ra}"()493  %t0 = call i32 asm sideeffect "addi t0, x0, 5", "={t0}"()494  %t1 = call i32 asm sideeffect "addi t1, x0, 6", "={t1}"()495  %t2 = call i32 asm sideeffect "addi t2, x0, 7", "={t2}"()496  %s0 = call i32 asm sideeffect "addi s0, x0, 8", "={s0}"()497  %s1 = call i32 asm sideeffect "addi s1, x0, 9", "={s1}"()498  %a0 = call i32 asm sideeffect "addi a0, x0, 10", "={a0}"()499  %a1 = call i32 asm sideeffect "addi a1, x0, 11", "={a1}"()500  %a2 = call i32 asm sideeffect "addi a2, x0, 12", "={a2}"()501  %a3 = call i32 asm sideeffect "addi a3, x0, 13", "={a3}"()502  %a4 = call i32 asm sideeffect "addi a4, x0, 14", "={a4}"()503  %a5 = call i32 asm sideeffect "addi a5, x0, 15", "={a5}"()504 505  br label %cond_1506 507cond_1:508  %cmp1 = icmp eq i32 %a4, %a5509  br i1 %cmp1, label %dest_1, label %cond_2510 511cond_2:512  %cmp2 = icmp eq i32 %a2, %a3513  br i1 %cmp2, label %dest_2, label %cond_3514 515cond_3:516  %cmp3 = icmp eq i32 %t1, %t2517  br i1 %cmp3, label %dest_3, label %space518 519space:520  call void asm sideeffect ".space 1048576", ""()521  br label %dest_1522 523dest_1:524  call void asm sideeffect "# dest 1", ""()525  br label %dest_2526 527dest_2:528  call void asm sideeffect "# dest 2", ""()529  br label %dest_3530 531dest_3:532  call void asm sideeffect "# dest 3", ""()533  br label %tail534 535tail:536  call void asm sideeffect "# reg use $0", "{ra}"(i32 %ra)537  call void asm sideeffect "# reg use $0", "{t0}"(i32 %t0)538  call void asm sideeffect "# reg use $0", "{t1}"(i32 %t1)539  call void asm sideeffect "# reg use $0", "{t2}"(i32 %t2)540  call void asm sideeffect "# reg use $0", "{s0}"(i32 %s0)541  call void asm sideeffect "# reg use $0", "{s1}"(i32 %s1)542  call void asm sideeffect "# reg use $0", "{a0}"(i32 %a0)543  call void asm sideeffect "# reg use $0", "{a1}"(i32 %a1)544  call void asm sideeffect "# reg use $0", "{a2}"(i32 %a2)545  call void asm sideeffect "# reg use $0", "{a3}"(i32 %a3)546  call void asm sideeffect "# reg use $0", "{a4}"(i32 %a4)547  call void asm sideeffect "# reg use $0", "{a5}"(i32 %a5)548 549  ret void550}551 552