brintos

brintos / llvm-project-archived public Read only

0
0
Text · 34.8 KiB · b88ef57 Raw
1056 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -verify-machineinstrs -filetype=obj < %s \3; RUN:   -o /dev/null 2>&14; RUN: llc -mtriple=riscv32 -relocation-model=pic -verify-machineinstrs \5; RUN:   -filetype=obj < %s -o /dev/null 2>&16; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \7; RUN:   | FileCheck %s8; RUN: llc -mtriple=riscv32 -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, -1637; 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, 1654; 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, -6477; CHECK-NEXT:    .cfi_def_cfa_offset 6478; CHECK-NEXT:    sw ra, 60(sp) # 4-byte Folded Spill79; CHECK-NEXT:    sw s0, 56(sp) # 4-byte Folded Spill80; CHECK-NEXT:    sw s1, 52(sp) # 4-byte Folded Spill81; CHECK-NEXT:    sw s2, 48(sp) # 4-byte Folded Spill82; CHECK-NEXT:    sw s3, 44(sp) # 4-byte Folded Spill83; CHECK-NEXT:    sw s4, 40(sp) # 4-byte Folded Spill84; CHECK-NEXT:    sw s5, 36(sp) # 4-byte Folded Spill85; CHECK-NEXT:    sw s6, 32(sp) # 4-byte Folded Spill86; CHECK-NEXT:    sw s7, 28(sp) # 4-byte Folded Spill87; CHECK-NEXT:    sw s8, 24(sp) # 4-byte Folded Spill88; CHECK-NEXT:    sw s9, 20(sp) # 4-byte Folded Spill89; CHECK-NEXT:    sw s10, 16(sp) # 4-byte Folded Spill90; CHECK-NEXT:    sw s11, 12(sp) # 4-byte Folded Spill91; CHECK-NEXT:    .cfi_offset ra, -492; CHECK-NEXT:    .cfi_offset s0, -893; CHECK-NEXT:    .cfi_offset s1, -1294; CHECK-NEXT:    .cfi_offset s2, -1695; CHECK-NEXT:    .cfi_offset s3, -2096; CHECK-NEXT:    .cfi_offset s4, -2497; CHECK-NEXT:    .cfi_offset s5, -2898; CHECK-NEXT:    .cfi_offset s6, -3299; CHECK-NEXT:    .cfi_offset s7, -36100; CHECK-NEXT:    .cfi_offset s8, -40101; CHECK-NEXT:    .cfi_offset s9, -44102; CHECK-NEXT:    .cfi_offset s10, -48103; CHECK-NEXT:    .cfi_offset s11, -52104; CHECK-NEXT:    #APP105; CHECK-NEXT:    li ra, 1106; CHECK-NEXT:    #NO_APP107; CHECK-NEXT:    #APP108; CHECK-NEXT:    li t0, 5109; CHECK-NEXT:    #NO_APP110; CHECK-NEXT:    #APP111; CHECK-NEXT:    li t1, 6112; CHECK-NEXT:    #NO_APP113; CHECK-NEXT:    #APP114; CHECK-NEXT:    li t2, 7115; CHECK-NEXT:    #NO_APP116; CHECK-NEXT:    #APP117; CHECK-NEXT:    li s0, 8118; CHECK-NEXT:    #NO_APP119; CHECK-NEXT:    #APP120; CHECK-NEXT:    li s1, 9121; CHECK-NEXT:    #NO_APP122; CHECK-NEXT:    #APP123; CHECK-NEXT:    li a0, 10124; CHECK-NEXT:    #NO_APP125; CHECK-NEXT:    #APP126; CHECK-NEXT:    li a1, 11127; CHECK-NEXT:    #NO_APP128; CHECK-NEXT:    #APP129; CHECK-NEXT:    li a2, 12130; CHECK-NEXT:    #NO_APP131; CHECK-NEXT:    #APP132; CHECK-NEXT:    li a3, 13133; CHECK-NEXT:    #NO_APP134; CHECK-NEXT:    #APP135; CHECK-NEXT:    li a4, 14136; CHECK-NEXT:    #NO_APP137; CHECK-NEXT:    #APP138; CHECK-NEXT:    li a5, 15139; CHECK-NEXT:    #NO_APP140; CHECK-NEXT:    #APP141; CHECK-NEXT:    li a6, 16142; CHECK-NEXT:    #NO_APP143; CHECK-NEXT:    #APP144; CHECK-NEXT:    li a7, 17145; CHECK-NEXT:    #NO_APP146; CHECK-NEXT:    #APP147; CHECK-NEXT:    li s2, 18148; CHECK-NEXT:    #NO_APP149; CHECK-NEXT:    #APP150; CHECK-NEXT:    li s3, 19151; CHECK-NEXT:    #NO_APP152; CHECK-NEXT:    #APP153; CHECK-NEXT:    li s4, 20154; CHECK-NEXT:    #NO_APP155; CHECK-NEXT:    #APP156; CHECK-NEXT:    li s5, 21157; CHECK-NEXT:    #NO_APP158; CHECK-NEXT:    #APP159; CHECK-NEXT:    li s6, 22160; CHECK-NEXT:    #NO_APP161; CHECK-NEXT:    #APP162; CHECK-NEXT:    li s7, 23163; CHECK-NEXT:    #NO_APP164; CHECK-NEXT:    #APP165; CHECK-NEXT:    li s8, 24166; CHECK-NEXT:    #NO_APP167; CHECK-NEXT:    #APP168; CHECK-NEXT:    li s9, 25169; CHECK-NEXT:    #NO_APP170; CHECK-NEXT:    #APP171; CHECK-NEXT:    li s10, 26172; CHECK-NEXT:    #NO_APP173; CHECK-NEXT:    #APP174; CHECK-NEXT:    li s11, 27175; CHECK-NEXT:    #NO_APP176; CHECK-NEXT:    #APP177; CHECK-NEXT:    li t3, 28178; CHECK-NEXT:    #NO_APP179; CHECK-NEXT:    #APP180; CHECK-NEXT:    li t4, 29181; CHECK-NEXT:    #NO_APP182; CHECK-NEXT:    #APP183; CHECK-NEXT:    li t5, 30184; CHECK-NEXT:    #NO_APP185; CHECK-NEXT:    #APP186; CHECK-NEXT:    li t6, 31187; CHECK-NEXT:    #NO_APP188; CHECK-NEXT:    beq t5, t6, .LBB2_1189; CHECK-NEXT:  # %bb.3:190; CHECK-NEXT:    sw s11, 0(sp)191; CHECK-NEXT:    jump .LBB2_4, s11192; CHECK-NEXT:  .LBB2_1: # %branch_1193; CHECK-NEXT:    #APP194; CHECK-NEXT:    .zero 1048576195; CHECK-NEXT:    #NO_APP196; CHECK-NEXT:    j .LBB2_2197; CHECK-NEXT:  .LBB2_4: # %branch_2198; CHECK-NEXT:    lw s11, 0(sp)199; CHECK-NEXT:  .LBB2_2: # %branch_2200; CHECK-NEXT:    #APP201; CHECK-NEXT:    # reg use ra202; CHECK-NEXT:    #NO_APP203; CHECK-NEXT:    #APP204; CHECK-NEXT:    # reg use t0205; CHECK-NEXT:    #NO_APP206; CHECK-NEXT:    #APP207; CHECK-NEXT:    # reg use t1208; CHECK-NEXT:    #NO_APP209; CHECK-NEXT:    #APP210; CHECK-NEXT:    # reg use t2211; CHECK-NEXT:    #NO_APP212; CHECK-NEXT:    #APP213; CHECK-NEXT:    # reg use s0214; CHECK-NEXT:    #NO_APP215; CHECK-NEXT:    #APP216; CHECK-NEXT:    # reg use s1217; CHECK-NEXT:    #NO_APP218; CHECK-NEXT:    #APP219; CHECK-NEXT:    # reg use a0220; CHECK-NEXT:    #NO_APP221; CHECK-NEXT:    #APP222; CHECK-NEXT:    # reg use a1223; CHECK-NEXT:    #NO_APP224; CHECK-NEXT:    #APP225; CHECK-NEXT:    # reg use a2226; CHECK-NEXT:    #NO_APP227; CHECK-NEXT:    #APP228; CHECK-NEXT:    # reg use a3229; CHECK-NEXT:    #NO_APP230; CHECK-NEXT:    #APP231; CHECK-NEXT:    # reg use a4232; CHECK-NEXT:    #NO_APP233; CHECK-NEXT:    #APP234; CHECK-NEXT:    # reg use a5235; CHECK-NEXT:    #NO_APP236; CHECK-NEXT:    #APP237; CHECK-NEXT:    # reg use a6238; CHECK-NEXT:    #NO_APP239; CHECK-NEXT:    #APP240; CHECK-NEXT:    # reg use a7241; CHECK-NEXT:    #NO_APP242; CHECK-NEXT:    #APP243; CHECK-NEXT:    # reg use s2244; CHECK-NEXT:    #NO_APP245; CHECK-NEXT:    #APP246; CHECK-NEXT:    # reg use s3247; CHECK-NEXT:    #NO_APP248; CHECK-NEXT:    #APP249; CHECK-NEXT:    # reg use s4250; CHECK-NEXT:    #NO_APP251; CHECK-NEXT:    #APP252; CHECK-NEXT:    # reg use s5253; CHECK-NEXT:    #NO_APP254; CHECK-NEXT:    #APP255; CHECK-NEXT:    # reg use s6256; CHECK-NEXT:    #NO_APP257; CHECK-NEXT:    #APP258; CHECK-NEXT:    # reg use s7259; CHECK-NEXT:    #NO_APP260; CHECK-NEXT:    #APP261; CHECK-NEXT:    # reg use s8262; CHECK-NEXT:    #NO_APP263; CHECK-NEXT:    #APP264; CHECK-NEXT:    # reg use s9265; CHECK-NEXT:    #NO_APP266; CHECK-NEXT:    #APP267; CHECK-NEXT:    # reg use s10268; CHECK-NEXT:    #NO_APP269; CHECK-NEXT:    #APP270; CHECK-NEXT:    # reg use s11271; CHECK-NEXT:    #NO_APP272; CHECK-NEXT:    #APP273; CHECK-NEXT:    # reg use t3274; CHECK-NEXT:    #NO_APP275; CHECK-NEXT:    #APP276; CHECK-NEXT:    # reg use t4277; CHECK-NEXT:    #NO_APP278; CHECK-NEXT:    #APP279; CHECK-NEXT:    # reg use t5280; CHECK-NEXT:    #NO_APP281; CHECK-NEXT:    #APP282; CHECK-NEXT:    # reg use t6283; CHECK-NEXT:    #NO_APP284; CHECK-NEXT:    lw ra, 60(sp) # 4-byte Folded Reload285; CHECK-NEXT:    lw s0, 56(sp) # 4-byte Folded Reload286; CHECK-NEXT:    lw s1, 52(sp) # 4-byte Folded Reload287; CHECK-NEXT:    lw s2, 48(sp) # 4-byte Folded Reload288; CHECK-NEXT:    lw s3, 44(sp) # 4-byte Folded Reload289; CHECK-NEXT:    lw s4, 40(sp) # 4-byte Folded Reload290; CHECK-NEXT:    lw s5, 36(sp) # 4-byte Folded Reload291; CHECK-NEXT:    lw s6, 32(sp) # 4-byte Folded Reload292; CHECK-NEXT:    lw s7, 28(sp) # 4-byte Folded Reload293; CHECK-NEXT:    lw s8, 24(sp) # 4-byte Folded Reload294; CHECK-NEXT:    lw s9, 20(sp) # 4-byte Folded Reload295; CHECK-NEXT:    lw s10, 16(sp) # 4-byte Folded Reload296; CHECK-NEXT:    lw s11, 12(sp) # 4-byte Folded Reload297; CHECK-NEXT:    .cfi_restore ra298; CHECK-NEXT:    .cfi_restore s0299; CHECK-NEXT:    .cfi_restore s1300; CHECK-NEXT:    .cfi_restore s2301; CHECK-NEXT:    .cfi_restore s3302; CHECK-NEXT:    .cfi_restore s4303; CHECK-NEXT:    .cfi_restore s5304; CHECK-NEXT:    .cfi_restore s6305; CHECK-NEXT:    .cfi_restore s7306; CHECK-NEXT:    .cfi_restore s8307; CHECK-NEXT:    .cfi_restore s9308; CHECK-NEXT:    .cfi_restore s10309; CHECK-NEXT:    .cfi_restore s11310; CHECK-NEXT:    addi sp, sp, 64311; CHECK-NEXT:    .cfi_def_cfa_offset 0312; CHECK-NEXT:    ret313  %ra = call i32 asm sideeffect "addi ra, x0, 1", "={ra}"()314  %t0 = call i32 asm sideeffect "addi t0, x0, 5", "={t0}"()315  %t1 = call i32 asm sideeffect "addi t1, x0, 6", "={t1}"()316  %t2 = call i32 asm sideeffect "addi t2, x0, 7", "={t2}"()317  %s0 = call i32 asm sideeffect "addi s0, x0, 8", "={s0}"()318  %s1 = call i32 asm sideeffect "addi s1, x0, 9", "={s1}"()319  %a0 = call i32 asm sideeffect "addi a0, x0, 10", "={a0}"()320  %a1 = call i32 asm sideeffect "addi a1, x0, 11", "={a1}"()321  %a2 = call i32 asm sideeffect "addi a2, x0, 12", "={a2}"()322  %a3 = call i32 asm sideeffect "addi a3, x0, 13", "={a3}"()323  %a4 = call i32 asm sideeffect "addi a4, x0, 14", "={a4}"()324  %a5 = call i32 asm sideeffect "addi a5, x0, 15", "={a5}"()325  %a6 = call i32 asm sideeffect "addi a6, x0, 16", "={a6}"()326  %a7 = call i32 asm sideeffect "addi a7, x0, 17", "={a7}"()327  %s2 = call i32 asm sideeffect "addi s2, x0, 18", "={s2}"()328  %s3 = call i32 asm sideeffect "addi s3, x0, 19", "={s3}"()329  %s4 = call i32 asm sideeffect "addi s4, x0, 20", "={s4}"()330  %s5 = call i32 asm sideeffect "addi s5, x0, 21", "={s5}"()331  %s6 = call i32 asm sideeffect "addi s6, x0, 22", "={s6}"()332  %s7 = call i32 asm sideeffect "addi s7, x0, 23", "={s7}"()333  %s8 = call i32 asm sideeffect "addi s8, x0, 24", "={s8}"()334  %s9 = call i32 asm sideeffect "addi s9, x0, 25", "={s9}"()335  %s10 = call i32 asm sideeffect "addi s10, x0, 26", "={s10}"()336  %s11 = call i32 asm sideeffect "addi s11, x0, 27", "={s11}"()337  %t3 = call i32 asm sideeffect "addi t3, x0, 28", "={t3}"()338  %t4 = call i32 asm sideeffect "addi t4, x0, 29", "={t4}"()339  %t5 = call i32 asm sideeffect "addi t5, x0, 30", "={t5}"()340  %t6 = call i32 asm sideeffect "addi t6, x0, 31", "={t6}"()341 342  %cmp = icmp eq i32 %t5, %t6343  br i1 %cmp, label %branch_1, label %branch_2344 345branch_1:346  call void asm sideeffect ".space 1048576", ""()347  br label %branch_2348 349branch_2:350  call void asm sideeffect "# reg use $0", "{ra}"(i32 %ra)351  call void asm sideeffect "# reg use $0", "{t0}"(i32 %t0)352  call void asm sideeffect "# reg use $0", "{t1}"(i32 %t1)353  call void asm sideeffect "# reg use $0", "{t2}"(i32 %t2)354  call void asm sideeffect "# reg use $0", "{s0}"(i32 %s0)355  call void asm sideeffect "# reg use $0", "{s1}"(i32 %s1)356  call void asm sideeffect "# reg use $0", "{a0}"(i32 %a0)357  call void asm sideeffect "# reg use $0", "{a1}"(i32 %a1)358  call void asm sideeffect "# reg use $0", "{a2}"(i32 %a2)359  call void asm sideeffect "# reg use $0", "{a3}"(i32 %a3)360  call void asm sideeffect "# reg use $0", "{a4}"(i32 %a4)361  call void asm sideeffect "# reg use $0", "{a5}"(i32 %a5)362  call void asm sideeffect "# reg use $0", "{a6}"(i32 %a6)363  call void asm sideeffect "# reg use $0", "{a7}"(i32 %a7)364  call void asm sideeffect "# reg use $0", "{s2}"(i32 %s2)365  call void asm sideeffect "# reg use $0", "{s3}"(i32 %s3)366  call void asm sideeffect "# reg use $0", "{s4}"(i32 %s4)367  call void asm sideeffect "# reg use $0", "{s5}"(i32 %s5)368  call void asm sideeffect "# reg use $0", "{s6}"(i32 %s6)369  call void asm sideeffect "# reg use $0", "{s7}"(i32 %s7)370  call void asm sideeffect "# reg use $0", "{s8}"(i32 %s8)371  call void asm sideeffect "# reg use $0", "{s9}"(i32 %s9)372  call void asm sideeffect "# reg use $0", "{s10}"(i32 %s10)373  call void asm sideeffect "# reg use $0", "{s11}"(i32 %s11)374  call void asm sideeffect "# reg use $0", "{t3}"(i32 %t3)375  call void asm sideeffect "# reg use $0", "{t4}"(i32 %t4)376  call void asm sideeffect "# reg use $0", "{t5}"(i32 %t5)377  call void asm sideeffect "# reg use $0", "{t6}"(i32 %t6)378 379  ret void380}381 382define void @relax_jal_spill_32_adjust_spill_slot() {383  ; If the stack is large and the offset of BranchRelaxationScratchFrameIndex384  ; is out the range of 12-bit signed integer, check whether the spill slot is385  ; adjusted to close to the stack base register.386; CHECK-LABEL: relax_jal_spill_32_adjust_spill_slot:387; CHECK:       # %bb.0:388; CHECK-NEXT:    addi sp, sp, -2032389; CHECK-NEXT:    .cfi_def_cfa_offset 2032390; CHECK-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill391; CHECK-NEXT:    sw s0, 2024(sp) # 4-byte Folded Spill392; CHECK-NEXT:    sw s1, 2020(sp) # 4-byte Folded Spill393; CHECK-NEXT:    sw s2, 2016(sp) # 4-byte Folded Spill394; CHECK-NEXT:    sw s3, 2012(sp) # 4-byte Folded Spill395; CHECK-NEXT:    sw s4, 2008(sp) # 4-byte Folded Spill396; CHECK-NEXT:    sw s5, 2004(sp) # 4-byte Folded Spill397; CHECK-NEXT:    sw s6, 2000(sp) # 4-byte Folded Spill398; CHECK-NEXT:    sw s7, 1996(sp) # 4-byte Folded Spill399; CHECK-NEXT:    sw s8, 1992(sp) # 4-byte Folded Spill400; CHECK-NEXT:    sw s9, 1988(sp) # 4-byte Folded Spill401; CHECK-NEXT:    sw s10, 1984(sp) # 4-byte Folded Spill402; CHECK-NEXT:    sw s11, 1980(sp) # 4-byte Folded Spill403; CHECK-NEXT:    .cfi_offset ra, -4404; CHECK-NEXT:    .cfi_offset s0, -8405; CHECK-NEXT:    .cfi_offset s1, -12406; CHECK-NEXT:    .cfi_offset s2, -16407; CHECK-NEXT:    .cfi_offset s3, -20408; CHECK-NEXT:    .cfi_offset s4, -24409; CHECK-NEXT:    .cfi_offset s5, -28410; CHECK-NEXT:    .cfi_offset s6, -32411; CHECK-NEXT:    .cfi_offset s7, -36412; CHECK-NEXT:    .cfi_offset s8, -40413; CHECK-NEXT:    .cfi_offset s9, -44414; CHECK-NEXT:    .cfi_offset s10, -48415; CHECK-NEXT:    .cfi_offset s11, -52416; CHECK-NEXT:    addi s0, sp, 2032417; CHECK-NEXT:    .cfi_def_cfa s0, 0418; CHECK-NEXT:    lui a0, 2419; CHECK-NEXT:    addi a0, a0, -2032420; CHECK-NEXT:    sub sp, sp, a0421; CHECK-NEXT:    srli a0, sp, 12422; CHECK-NEXT:    slli sp, a0, 12423; CHECK-NEXT:    #APP424; CHECK-NEXT:    li ra, 1425; CHECK-NEXT:    #NO_APP426; CHECK-NEXT:    #APP427; CHECK-NEXT:    li t0, 5428; CHECK-NEXT:    #NO_APP429; CHECK-NEXT:    #APP430; CHECK-NEXT:    li t1, 6431; CHECK-NEXT:    #NO_APP432; CHECK-NEXT:    #APP433; CHECK-NEXT:    li t2, 7434; CHECK-NEXT:    #NO_APP435; CHECK-NEXT:    #APP436; CHECK-NEXT:    li s0, 8437; CHECK-NEXT:    #NO_APP438; CHECK-NEXT:    #APP439; CHECK-NEXT:    li s1, 9440; CHECK-NEXT:    #NO_APP441; CHECK-NEXT:    #APP442; CHECK-NEXT:    li a0, 10443; CHECK-NEXT:    #NO_APP444; CHECK-NEXT:    #APP445; CHECK-NEXT:    li a1, 11446; CHECK-NEXT:    #NO_APP447; CHECK-NEXT:    #APP448; CHECK-NEXT:    li a2, 12449; CHECK-NEXT:    #NO_APP450; CHECK-NEXT:    #APP451; CHECK-NEXT:    li a3, 13452; CHECK-NEXT:    #NO_APP453; CHECK-NEXT:    #APP454; CHECK-NEXT:    li a4, 14455; CHECK-NEXT:    #NO_APP456; CHECK-NEXT:    #APP457; CHECK-NEXT:    li a5, 15458; CHECK-NEXT:    #NO_APP459; CHECK-NEXT:    #APP460; CHECK-NEXT:    li a6, 16461; CHECK-NEXT:    #NO_APP462; CHECK-NEXT:    #APP463; CHECK-NEXT:    li a7, 17464; CHECK-NEXT:    #NO_APP465; CHECK-NEXT:    #APP466; CHECK-NEXT:    li s2, 18467; CHECK-NEXT:    #NO_APP468; CHECK-NEXT:    #APP469; CHECK-NEXT:    li s3, 19470; CHECK-NEXT:    #NO_APP471; CHECK-NEXT:    #APP472; CHECK-NEXT:    li s4, 20473; CHECK-NEXT:    #NO_APP474; CHECK-NEXT:    #APP475; CHECK-NEXT:    li s5, 21476; CHECK-NEXT:    #NO_APP477; CHECK-NEXT:    #APP478; CHECK-NEXT:    li s6, 22479; CHECK-NEXT:    #NO_APP480; CHECK-NEXT:    #APP481; CHECK-NEXT:    li s7, 23482; CHECK-NEXT:    #NO_APP483; CHECK-NEXT:    #APP484; CHECK-NEXT:    li s8, 24485; CHECK-NEXT:    #NO_APP486; CHECK-NEXT:    #APP487; CHECK-NEXT:    li s9, 25488; CHECK-NEXT:    #NO_APP489; CHECK-NEXT:    #APP490; CHECK-NEXT:    li s10, 26491; CHECK-NEXT:    #NO_APP492; CHECK-NEXT:    #APP493; CHECK-NEXT:    li s11, 27494; CHECK-NEXT:    #NO_APP495; CHECK-NEXT:    #APP496; CHECK-NEXT:    li t3, 28497; CHECK-NEXT:    #NO_APP498; CHECK-NEXT:    #APP499; CHECK-NEXT:    li t4, 29500; CHECK-NEXT:    #NO_APP501; CHECK-NEXT:    #APP502; CHECK-NEXT:    li t5, 30503; CHECK-NEXT:    #NO_APP504; CHECK-NEXT:    #APP505; CHECK-NEXT:    li t6, 31506; CHECK-NEXT:    #NO_APP507; CHECK-NEXT:    beq t5, t6, .LBB3_1508; CHECK-NEXT:  # %bb.3:509; CHECK-NEXT:    sw s11, 0(sp)510; CHECK-NEXT:    jump .LBB3_4, s11511; CHECK-NEXT:  .LBB3_1: # %branch_1512; CHECK-NEXT:    #APP513; CHECK-NEXT:    .zero 1048576514; CHECK-NEXT:    #NO_APP515; CHECK-NEXT:    j .LBB3_2516; CHECK-NEXT:  .LBB3_4: # %branch_2517; CHECK-NEXT:    lw s11, 0(sp)518; CHECK-NEXT:  .LBB3_2: # %branch_2519; CHECK-NEXT:    #APP520; CHECK-NEXT:    # reg use ra521; CHECK-NEXT:    #NO_APP522; CHECK-NEXT:    #APP523; CHECK-NEXT:    # reg use t0524; CHECK-NEXT:    #NO_APP525; CHECK-NEXT:    #APP526; CHECK-NEXT:    # reg use t1527; CHECK-NEXT:    #NO_APP528; CHECK-NEXT:    #APP529; CHECK-NEXT:    # reg use t2530; CHECK-NEXT:    #NO_APP531; CHECK-NEXT:    #APP532; CHECK-NEXT:    # reg use s0533; CHECK-NEXT:    #NO_APP534; CHECK-NEXT:    #APP535; CHECK-NEXT:    # reg use s1536; CHECK-NEXT:    #NO_APP537; CHECK-NEXT:    #APP538; CHECK-NEXT:    # reg use a0539; CHECK-NEXT:    #NO_APP540; CHECK-NEXT:    #APP541; CHECK-NEXT:    # reg use a1542; CHECK-NEXT:    #NO_APP543; CHECK-NEXT:    #APP544; CHECK-NEXT:    # reg use a2545; CHECK-NEXT:    #NO_APP546; CHECK-NEXT:    #APP547; CHECK-NEXT:    # reg use a3548; CHECK-NEXT:    #NO_APP549; CHECK-NEXT:    #APP550; CHECK-NEXT:    # reg use a4551; CHECK-NEXT:    #NO_APP552; CHECK-NEXT:    #APP553; CHECK-NEXT:    # reg use a5554; CHECK-NEXT:    #NO_APP555; CHECK-NEXT:    #APP556; CHECK-NEXT:    # reg use a6557; CHECK-NEXT:    #NO_APP558; CHECK-NEXT:    #APP559; CHECK-NEXT:    # reg use a7560; CHECK-NEXT:    #NO_APP561; CHECK-NEXT:    #APP562; CHECK-NEXT:    # reg use s2563; CHECK-NEXT:    #NO_APP564; CHECK-NEXT:    #APP565; CHECK-NEXT:    # reg use s3566; CHECK-NEXT:    #NO_APP567; CHECK-NEXT:    #APP568; CHECK-NEXT:    # reg use s4569; CHECK-NEXT:    #NO_APP570; CHECK-NEXT:    #APP571; CHECK-NEXT:    # reg use s5572; CHECK-NEXT:    #NO_APP573; CHECK-NEXT:    #APP574; CHECK-NEXT:    # reg use s6575; CHECK-NEXT:    #NO_APP576; CHECK-NEXT:    #APP577; CHECK-NEXT:    # reg use s7578; CHECK-NEXT:    #NO_APP579; CHECK-NEXT:    #APP580; CHECK-NEXT:    # reg use s8581; CHECK-NEXT:    #NO_APP582; CHECK-NEXT:    #APP583; CHECK-NEXT:    # reg use s9584; CHECK-NEXT:    #NO_APP585; CHECK-NEXT:    #APP586; CHECK-NEXT:    # reg use s10587; CHECK-NEXT:    #NO_APP588; CHECK-NEXT:    #APP589; CHECK-NEXT:    # reg use s11590; CHECK-NEXT:    #NO_APP591; CHECK-NEXT:    #APP592; CHECK-NEXT:    # reg use t3593; CHECK-NEXT:    #NO_APP594; CHECK-NEXT:    #APP595; CHECK-NEXT:    # reg use t4596; CHECK-NEXT:    #NO_APP597; CHECK-NEXT:    #APP598; CHECK-NEXT:    # reg use t5599; CHECK-NEXT:    #NO_APP600; CHECK-NEXT:    #APP601; CHECK-NEXT:    # reg use t6602; CHECK-NEXT:    #NO_APP603; CHECK-NEXT:    addi sp, s0, -2032604; CHECK-NEXT:    .cfi_def_cfa sp, 2032605; CHECK-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload606; CHECK-NEXT:    lw s0, 2024(sp) # 4-byte Folded Reload607; CHECK-NEXT:    lw s1, 2020(sp) # 4-byte Folded Reload608; CHECK-NEXT:    lw s2, 2016(sp) # 4-byte Folded Reload609; CHECK-NEXT:    lw s3, 2012(sp) # 4-byte Folded Reload610; CHECK-NEXT:    lw s4, 2008(sp) # 4-byte Folded Reload611; CHECK-NEXT:    lw s5, 2004(sp) # 4-byte Folded Reload612; CHECK-NEXT:    lw s6, 2000(sp) # 4-byte Folded Reload613; CHECK-NEXT:    lw s7, 1996(sp) # 4-byte Folded Reload614; CHECK-NEXT:    lw s8, 1992(sp) # 4-byte Folded Reload615; CHECK-NEXT:    lw s9, 1988(sp) # 4-byte Folded Reload616; CHECK-NEXT:    lw s10, 1984(sp) # 4-byte Folded Reload617; CHECK-NEXT:    lw s11, 1980(sp) # 4-byte Folded Reload618; CHECK-NEXT:    .cfi_restore ra619; CHECK-NEXT:    .cfi_restore s0620; CHECK-NEXT:    .cfi_restore s1621; CHECK-NEXT:    .cfi_restore s2622; CHECK-NEXT:    .cfi_restore s3623; CHECK-NEXT:    .cfi_restore s4624; CHECK-NEXT:    .cfi_restore s5625; CHECK-NEXT:    .cfi_restore s6626; CHECK-NEXT:    .cfi_restore s7627; CHECK-NEXT:    .cfi_restore s8628; CHECK-NEXT:    .cfi_restore s9629; CHECK-NEXT:    .cfi_restore s10630; CHECK-NEXT:    .cfi_restore s11631; CHECK-NEXT:    addi sp, sp, 2032632; CHECK-NEXT:    .cfi_def_cfa_offset 0633; CHECK-NEXT:    ret634  %stack_obj = alloca i32, align 4096635 636  %ra = call i32 asm sideeffect "addi ra, x0, 1", "={ra}"()637  %t0 = call i32 asm sideeffect "addi t0, x0, 5", "={t0}"()638  %t1 = call i32 asm sideeffect "addi t1, x0, 6", "={t1}"()639  %t2 = call i32 asm sideeffect "addi t2, x0, 7", "={t2}"()640  %s0 = call i32 asm sideeffect "addi s0, x0, 8", "={s0}"()641  %s1 = call i32 asm sideeffect "addi s1, x0, 9", "={s1}"()642  %a0 = call i32 asm sideeffect "addi a0, x0, 10", "={a0}"()643  %a1 = call i32 asm sideeffect "addi a1, x0, 11", "={a1}"()644  %a2 = call i32 asm sideeffect "addi a2, x0, 12", "={a2}"()645  %a3 = call i32 asm sideeffect "addi a3, x0, 13", "={a3}"()646  %a4 = call i32 asm sideeffect "addi a4, x0, 14", "={a4}"()647  %a5 = call i32 asm sideeffect "addi a5, x0, 15", "={a5}"()648  %a6 = call i32 asm sideeffect "addi a6, x0, 16", "={a6}"()649  %a7 = call i32 asm sideeffect "addi a7, x0, 17", "={a7}"()650  %s2 = call i32 asm sideeffect "addi s2, x0, 18", "={s2}"()651  %s3 = call i32 asm sideeffect "addi s3, x0, 19", "={s3}"()652  %s4 = call i32 asm sideeffect "addi s4, x0, 20", "={s4}"()653  %s5 = call i32 asm sideeffect "addi s5, x0, 21", "={s5}"()654  %s6 = call i32 asm sideeffect "addi s6, x0, 22", "={s6}"()655  %s7 = call i32 asm sideeffect "addi s7, x0, 23", "={s7}"()656  %s8 = call i32 asm sideeffect "addi s8, x0, 24", "={s8}"()657  %s9 = call i32 asm sideeffect "addi s9, x0, 25", "={s9}"()658  %s10 = call i32 asm sideeffect "addi s10, x0, 26", "={s10}"()659  %s11 = call i32 asm sideeffect "addi s11, x0, 27", "={s11}"()660  %t3 = call i32 asm sideeffect "addi t3, x0, 28", "={t3}"()661  %t4 = call i32 asm sideeffect "addi t4, x0, 29", "={t4}"()662  %t5 = call i32 asm sideeffect "addi t5, x0, 30", "={t5}"()663  %t6 = call i32 asm sideeffect "addi t6, x0, 31", "={t6}"()664 665  %cmp = icmp eq i32 %t5, %t6666  br i1 %cmp, label %branch_1, label %branch_2667 668branch_1:669  call void asm sideeffect ".space 1048576", ""()670  br label %branch_2671 672branch_2:673  call void asm sideeffect "# reg use $0", "{ra}"(i32 %ra)674  call void asm sideeffect "# reg use $0", "{t0}"(i32 %t0)675  call void asm sideeffect "# reg use $0", "{t1}"(i32 %t1)676  call void asm sideeffect "# reg use $0", "{t2}"(i32 %t2)677  call void asm sideeffect "# reg use $0", "{s0}"(i32 %s0)678  call void asm sideeffect "# reg use $0", "{s1}"(i32 %s1)679  call void asm sideeffect "# reg use $0", "{a0}"(i32 %a0)680  call void asm sideeffect "# reg use $0", "{a1}"(i32 %a1)681  call void asm sideeffect "# reg use $0", "{a2}"(i32 %a2)682  call void asm sideeffect "# reg use $0", "{a3}"(i32 %a3)683  call void asm sideeffect "# reg use $0", "{a4}"(i32 %a4)684  call void asm sideeffect "# reg use $0", "{a5}"(i32 %a5)685  call void asm sideeffect "# reg use $0", "{a6}"(i32 %a6)686  call void asm sideeffect "# reg use $0", "{a7}"(i32 %a7)687  call void asm sideeffect "# reg use $0", "{s2}"(i32 %s2)688  call void asm sideeffect "# reg use $0", "{s3}"(i32 %s3)689  call void asm sideeffect "# reg use $0", "{s4}"(i32 %s4)690  call void asm sideeffect "# reg use $0", "{s5}"(i32 %s5)691  call void asm sideeffect "# reg use $0", "{s6}"(i32 %s6)692  call void asm sideeffect "# reg use $0", "{s7}"(i32 %s7)693  call void asm sideeffect "# reg use $0", "{s8}"(i32 %s8)694  call void asm sideeffect "# reg use $0", "{s9}"(i32 %s9)695  call void asm sideeffect "# reg use $0", "{s10}"(i32 %s10)696  call void asm sideeffect "# reg use $0", "{s11}"(i32 %s11)697  call void asm sideeffect "# reg use $0", "{t3}"(i32 %t3)698  call void asm sideeffect "# reg use $0", "{t4}"(i32 %t4)699  call void asm sideeffect "# reg use $0", "{t5}"(i32 %t5)700  call void asm sideeffect "# reg use $0", "{t6}"(i32 %t6)701 702  ret void703}704 705define void @relax_jal_spill_32_restore_block_correspondence() {706; CHECK-LABEL: relax_jal_spill_32_restore_block_correspondence:707; CHECK:       # %bb.0: # %entry708; CHECK-NEXT:    addi sp, sp, -64709; CHECK-NEXT:    .cfi_def_cfa_offset 64710; CHECK-NEXT:    sw ra, 60(sp) # 4-byte Folded Spill711; CHECK-NEXT:    sw s0, 56(sp) # 4-byte Folded Spill712; CHECK-NEXT:    sw s1, 52(sp) # 4-byte Folded Spill713; CHECK-NEXT:    sw s2, 48(sp) # 4-byte Folded Spill714; CHECK-NEXT:    sw s3, 44(sp) # 4-byte Folded Spill715; CHECK-NEXT:    sw s4, 40(sp) # 4-byte Folded Spill716; CHECK-NEXT:    sw s5, 36(sp) # 4-byte Folded Spill717; CHECK-NEXT:    sw s6, 32(sp) # 4-byte Folded Spill718; CHECK-NEXT:    sw s7, 28(sp) # 4-byte Folded Spill719; CHECK-NEXT:    sw s8, 24(sp) # 4-byte Folded Spill720; CHECK-NEXT:    sw s9, 20(sp) # 4-byte Folded Spill721; CHECK-NEXT:    sw s10, 16(sp) # 4-byte Folded Spill722; CHECK-NEXT:    sw s11, 12(sp) # 4-byte Folded Spill723; CHECK-NEXT:    .cfi_offset ra, -4724; CHECK-NEXT:    .cfi_offset s0, -8725; CHECK-NEXT:    .cfi_offset s1, -12726; CHECK-NEXT:    .cfi_offset s2, -16727; CHECK-NEXT:    .cfi_offset s3, -20728; CHECK-NEXT:    .cfi_offset s4, -24729; CHECK-NEXT:    .cfi_offset s5, -28730; CHECK-NEXT:    .cfi_offset s6, -32731; CHECK-NEXT:    .cfi_offset s7, -36732; CHECK-NEXT:    .cfi_offset s8, -40733; CHECK-NEXT:    .cfi_offset s9, -44734; CHECK-NEXT:    .cfi_offset s10, -48735; CHECK-NEXT:    .cfi_offset s11, -52736; CHECK-NEXT:    .cfi_remember_state737; CHECK-NEXT:    #APP738; CHECK-NEXT:    li ra, 1739; CHECK-NEXT:    #NO_APP740; CHECK-NEXT:    #APP741; CHECK-NEXT:    li t0, 5742; CHECK-NEXT:    #NO_APP743; CHECK-NEXT:    #APP744; CHECK-NEXT:    li t1, 6745; CHECK-NEXT:    #NO_APP746; CHECK-NEXT:    #APP747; CHECK-NEXT:    li t2, 7748; CHECK-NEXT:    #NO_APP749; CHECK-NEXT:    #APP750; CHECK-NEXT:    li s0, 8751; CHECK-NEXT:    #NO_APP752; CHECK-NEXT:    #APP753; CHECK-NEXT:    li s1, 9754; CHECK-NEXT:    #NO_APP755; CHECK-NEXT:    #APP756; CHECK-NEXT:    li a0, 10757; CHECK-NEXT:    #NO_APP758; CHECK-NEXT:    #APP759; CHECK-NEXT:    li a1, 11760; CHECK-NEXT:    #NO_APP761; CHECK-NEXT:    #APP762; CHECK-NEXT:    li a2, 12763; CHECK-NEXT:    #NO_APP764; CHECK-NEXT:    #APP765; CHECK-NEXT:    li a3, 13766; CHECK-NEXT:    #NO_APP767; CHECK-NEXT:    #APP768; CHECK-NEXT:    li a4, 14769; CHECK-NEXT:    #NO_APP770; CHECK-NEXT:    #APP771; CHECK-NEXT:    li a5, 15772; CHECK-NEXT:    #NO_APP773; CHECK-NEXT:    #APP774; CHECK-NEXT:    li a6, 16775; CHECK-NEXT:    #NO_APP776; CHECK-NEXT:    #APP777; CHECK-NEXT:    li a7, 17778; CHECK-NEXT:    #NO_APP779; CHECK-NEXT:    #APP780; CHECK-NEXT:    li s2, 18781; CHECK-NEXT:    #NO_APP782; CHECK-NEXT:    #APP783; CHECK-NEXT:    li s3, 19784; CHECK-NEXT:    #NO_APP785; CHECK-NEXT:    #APP786; CHECK-NEXT:    li s4, 20787; CHECK-NEXT:    #NO_APP788; CHECK-NEXT:    #APP789; CHECK-NEXT:    li s5, 21790; CHECK-NEXT:    #NO_APP791; CHECK-NEXT:    #APP792; CHECK-NEXT:    li s6, 22793; CHECK-NEXT:    #NO_APP794; CHECK-NEXT:    #APP795; CHECK-NEXT:    li s7, 23796; CHECK-NEXT:    #NO_APP797; CHECK-NEXT:    #APP798; CHECK-NEXT:    li s8, 24799; CHECK-NEXT:    #NO_APP800; CHECK-NEXT:    #APP801; CHECK-NEXT:    li s9, 25802; CHECK-NEXT:    #NO_APP803; CHECK-NEXT:    #APP804; CHECK-NEXT:    li s10, 26805; CHECK-NEXT:    #NO_APP806; CHECK-NEXT:    #APP807; CHECK-NEXT:    li s11, 27808; CHECK-NEXT:    #NO_APP809; CHECK-NEXT:    #APP810; CHECK-NEXT:    li t3, 28811; CHECK-NEXT:    #NO_APP812; CHECK-NEXT:    #APP813; CHECK-NEXT:    li t4, 29814; CHECK-NEXT:    #NO_APP815; CHECK-NEXT:    #APP816; CHECK-NEXT:    li t5, 30817; CHECK-NEXT:    #NO_APP818; CHECK-NEXT:    #APP819; CHECK-NEXT:    li t6, 31820; CHECK-NEXT:    #NO_APP821; CHECK-NEXT:    bne t5, t6, .LBB4_2822; CHECK-NEXT:    j .LBB4_1823; CHECK-NEXT:  .LBB4_8: # %dest_1824; CHECK-NEXT:    lw s11, 0(sp)825; CHECK-NEXT:  .LBB4_1: # %dest_1826; CHECK-NEXT:    #APP827; CHECK-NEXT:    # dest 1828; CHECK-NEXT:    #NO_APP829; CHECK-NEXT:    j .LBB4_3830; CHECK-NEXT:  .LBB4_2: # %cond_2831; CHECK-NEXT:    bne t3, t4, .LBB4_5832; CHECK-NEXT:  .LBB4_3: # %dest_2833; CHECK-NEXT:    #APP834; CHECK-NEXT:    # dest 2835; CHECK-NEXT:    #NO_APP836; CHECK-NEXT:  .LBB4_4: # %dest_3837; CHECK-NEXT:    #APP838; CHECK-NEXT:    # dest 3839; CHECK-NEXT:    #NO_APP840; CHECK-NEXT:    #APP841; CHECK-NEXT:    # reg use ra842; CHECK-NEXT:    #NO_APP843; CHECK-NEXT:    #APP844; CHECK-NEXT:    # reg use t0845; CHECK-NEXT:    #NO_APP846; CHECK-NEXT:    #APP847; CHECK-NEXT:    # reg use t1848; CHECK-NEXT:    #NO_APP849; CHECK-NEXT:    #APP850; CHECK-NEXT:    # reg use t2851; CHECK-NEXT:    #NO_APP852; CHECK-NEXT:    #APP853; CHECK-NEXT:    # reg use s0854; CHECK-NEXT:    #NO_APP855; CHECK-NEXT:    #APP856; CHECK-NEXT:    # reg use s1857; CHECK-NEXT:    #NO_APP858; CHECK-NEXT:    #APP859; CHECK-NEXT:    # reg use a0860; CHECK-NEXT:    #NO_APP861; CHECK-NEXT:    #APP862; CHECK-NEXT:    # reg use a1863; CHECK-NEXT:    #NO_APP864; CHECK-NEXT:    #APP865; CHECK-NEXT:    # reg use a2866; CHECK-NEXT:    #NO_APP867; CHECK-NEXT:    #APP868; CHECK-NEXT:    # reg use a3869; CHECK-NEXT:    #NO_APP870; CHECK-NEXT:    #APP871; CHECK-NEXT:    # reg use a4872; CHECK-NEXT:    #NO_APP873; CHECK-NEXT:    #APP874; CHECK-NEXT:    # reg use a5875; CHECK-NEXT:    #NO_APP876; CHECK-NEXT:    #APP877; CHECK-NEXT:    # reg use a6878; CHECK-NEXT:    #NO_APP879; CHECK-NEXT:    #APP880; CHECK-NEXT:    # reg use a7881; CHECK-NEXT:    #NO_APP882; CHECK-NEXT:    #APP883; CHECK-NEXT:    # reg use s2884; CHECK-NEXT:    #NO_APP885; CHECK-NEXT:    #APP886; CHECK-NEXT:    # reg use s3887; CHECK-NEXT:    #NO_APP888; CHECK-NEXT:    #APP889; CHECK-NEXT:    # reg use s4890; CHECK-NEXT:    #NO_APP891; CHECK-NEXT:    #APP892; CHECK-NEXT:    # reg use s5893; CHECK-NEXT:    #NO_APP894; CHECK-NEXT:    #APP895; CHECK-NEXT:    # reg use s6896; CHECK-NEXT:    #NO_APP897; CHECK-NEXT:    #APP898; CHECK-NEXT:    # reg use s7899; CHECK-NEXT:    #NO_APP900; CHECK-NEXT:    #APP901; CHECK-NEXT:    # reg use s8902; CHECK-NEXT:    #NO_APP903; CHECK-NEXT:    #APP904; CHECK-NEXT:    # reg use s9905; CHECK-NEXT:    #NO_APP906; CHECK-NEXT:    #APP907; CHECK-NEXT:    # reg use s10908; CHECK-NEXT:    #NO_APP909; CHECK-NEXT:    #APP910; CHECK-NEXT:    # reg use s11911; CHECK-NEXT:    #NO_APP912; CHECK-NEXT:    #APP913; CHECK-NEXT:    # reg use t3914; CHECK-NEXT:    #NO_APP915; CHECK-NEXT:    #APP916; CHECK-NEXT:    # reg use t4917; CHECK-NEXT:    #NO_APP918; CHECK-NEXT:    #APP919; CHECK-NEXT:    # reg use t5920; CHECK-NEXT:    #NO_APP921; CHECK-NEXT:    #APP922; CHECK-NEXT:    # reg use t6923; CHECK-NEXT:    #NO_APP924; CHECK-NEXT:    lw ra, 60(sp) # 4-byte Folded Reload925; CHECK-NEXT:    lw s0, 56(sp) # 4-byte Folded Reload926; CHECK-NEXT:    lw s1, 52(sp) # 4-byte Folded Reload927; CHECK-NEXT:    lw s2, 48(sp) # 4-byte Folded Reload928; CHECK-NEXT:    lw s3, 44(sp) # 4-byte Folded Reload929; CHECK-NEXT:    lw s4, 40(sp) # 4-byte Folded Reload930; CHECK-NEXT:    lw s5, 36(sp) # 4-byte Folded Reload931; CHECK-NEXT:    lw s6, 32(sp) # 4-byte Folded Reload932; CHECK-NEXT:    lw s7, 28(sp) # 4-byte Folded Reload933; CHECK-NEXT:    lw s8, 24(sp) # 4-byte Folded Reload934; CHECK-NEXT:    lw s9, 20(sp) # 4-byte Folded Reload935; CHECK-NEXT:    lw s10, 16(sp) # 4-byte Folded Reload936; CHECK-NEXT:    lw s11, 12(sp) # 4-byte Folded Reload937; CHECK-NEXT:    .cfi_restore ra938; CHECK-NEXT:    .cfi_restore s0939; CHECK-NEXT:    .cfi_restore s1940; CHECK-NEXT:    .cfi_restore s2941; CHECK-NEXT:    .cfi_restore s3942; CHECK-NEXT:    .cfi_restore s4943; CHECK-NEXT:    .cfi_restore s5944; CHECK-NEXT:    .cfi_restore s6945; CHECK-NEXT:    .cfi_restore s7946; CHECK-NEXT:    .cfi_restore s8947; CHECK-NEXT:    .cfi_restore s9948; CHECK-NEXT:    .cfi_restore s10949; CHECK-NEXT:    .cfi_restore s11950; CHECK-NEXT:    addi sp, sp, 64951; CHECK-NEXT:    .cfi_def_cfa_offset 0952; CHECK-NEXT:    ret953; CHECK-NEXT:  .LBB4_5: # %cond_3954; CHECK-NEXT:    .cfi_restore_state955; CHECK-NEXT:    beq t1, t2, .LBB4_4956; CHECK-NEXT:  # %bb.6: # %space957; CHECK-NEXT:    #APP958; CHECK-NEXT:    .zero 1048576959; CHECK-NEXT:    #NO_APP960; CHECK-NEXT:  # %bb.7: # %space961; CHECK-NEXT:    sw s11, 0(sp)962; CHECK-NEXT:    jump .LBB4_8, s11963entry:964  %ra = call i32 asm sideeffect "addi ra, x0, 1", "={ra}"()965  %t0 = call i32 asm sideeffect "addi t0, x0, 5", "={t0}"()966  %t1 = call i32 asm sideeffect "addi t1, x0, 6", "={t1}"()967  %t2 = call i32 asm sideeffect "addi t2, x0, 7", "={t2}"()968  %s0 = call i32 asm sideeffect "addi s0, x0, 8", "={s0}"()969  %s1 = call i32 asm sideeffect "addi s1, x0, 9", "={s1}"()970  %a0 = call i32 asm sideeffect "addi a0, x0, 10", "={a0}"()971  %a1 = call i32 asm sideeffect "addi a1, x0, 11", "={a1}"()972  %a2 = call i32 asm sideeffect "addi a2, x0, 12", "={a2}"()973  %a3 = call i32 asm sideeffect "addi a3, x0, 13", "={a3}"()974  %a4 = call i32 asm sideeffect "addi a4, x0, 14", "={a4}"()975  %a5 = call i32 asm sideeffect "addi a5, x0, 15", "={a5}"()976  %a6 = call i32 asm sideeffect "addi a6, x0, 16", "={a6}"()977  %a7 = call i32 asm sideeffect "addi a7, x0, 17", "={a7}"()978  %s2 = call i32 asm sideeffect "addi s2, x0, 18", "={s2}"()979  %s3 = call i32 asm sideeffect "addi s3, x0, 19", "={s3}"()980  %s4 = call i32 asm sideeffect "addi s4, x0, 20", "={s4}"()981  %s5 = call i32 asm sideeffect "addi s5, x0, 21", "={s5}"()982  %s6 = call i32 asm sideeffect "addi s6, x0, 22", "={s6}"()983  %s7 = call i32 asm sideeffect "addi s7, x0, 23", "={s7}"()984  %s8 = call i32 asm sideeffect "addi s8, x0, 24", "={s8}"()985  %s9 = call i32 asm sideeffect "addi s9, x0, 25", "={s9}"()986  %s10 = call i32 asm sideeffect "addi s10, x0, 26", "={s10}"()987  %s11 = call i32 asm sideeffect "addi s11, x0, 27", "={s11}"()988  %t3 = call i32 asm sideeffect "addi t3, x0, 28", "={t3}"()989  %t4 = call i32 asm sideeffect "addi t4, x0, 29", "={t4}"()990  %t5 = call i32 asm sideeffect "addi t5, x0, 30", "={t5}"()991  %t6 = call i32 asm sideeffect "addi t6, x0, 31", "={t6}"()992 993  br label %cond_1994 995cond_1:996  %cmp1 = icmp eq i32 %t5, %t6997  br i1 %cmp1, label %dest_1, label %cond_2998 999cond_2:1000  %cmp2 = icmp eq i32 %t3, %t41001  br i1 %cmp2, label %dest_2, label %cond_31002 1003cond_3:1004  %cmp3 = icmp eq i32 %t1, %t21005  br i1 %cmp3, label %dest_3, label %space1006 1007space:1008  call void asm sideeffect ".space 1048576", ""()1009  br label %dest_11010 1011dest_1:1012  call void asm sideeffect "# dest 1", ""()1013  br label %dest_21014 1015dest_2:1016  call void asm sideeffect "# dest 2", ""()1017  br label %dest_31018 1019dest_3:1020  call void asm sideeffect "# dest 3", ""()1021  br label %tail1022 1023tail:1024  call void asm sideeffect "# reg use $0", "{ra}"(i32 %ra)1025  call void asm sideeffect "# reg use $0", "{t0}"(i32 %t0)1026  call void asm sideeffect "# reg use $0", "{t1}"(i32 %t1)1027  call void asm sideeffect "# reg use $0", "{t2}"(i32 %t2)1028  call void asm sideeffect "# reg use $0", "{s0}"(i32 %s0)1029  call void asm sideeffect "# reg use $0", "{s1}"(i32 %s1)1030  call void asm sideeffect "# reg use $0", "{a0}"(i32 %a0)1031  call void asm sideeffect "# reg use $0", "{a1}"(i32 %a1)1032  call void asm sideeffect "# reg use $0", "{a2}"(i32 %a2)1033  call void asm sideeffect "# reg use $0", "{a3}"(i32 %a3)1034  call void asm sideeffect "# reg use $0", "{a4}"(i32 %a4)1035  call void asm sideeffect "# reg use $0", "{a5}"(i32 %a5)1036  call void asm sideeffect "# reg use $0", "{a6}"(i32 %a6)1037  call void asm sideeffect "# reg use $0", "{a7}"(i32 %a7)1038  call void asm sideeffect "# reg use $0", "{s2}"(i32 %s2)1039  call void asm sideeffect "# reg use $0", "{s3}"(i32 %s3)1040  call void asm sideeffect "# reg use $0", "{s4}"(i32 %s4)1041  call void asm sideeffect "# reg use $0", "{s5}"(i32 %s5)1042  call void asm sideeffect "# reg use $0", "{s6}"(i32 %s6)1043  call void asm sideeffect "# reg use $0", "{s7}"(i32 %s7)1044  call void asm sideeffect "# reg use $0", "{s8}"(i32 %s8)1045  call void asm sideeffect "# reg use $0", "{s9}"(i32 %s9)1046  call void asm sideeffect "# reg use $0", "{s10}"(i32 %s10)1047  call void asm sideeffect "# reg use $0", "{s11}"(i32 %s11)1048  call void asm sideeffect "# reg use $0", "{t3}"(i32 %t3)1049  call void asm sideeffect "# reg use $0", "{t4}"(i32 %t4)1050  call void asm sideeffect "# reg use $0", "{t5}"(i32 %t5)1051  call void asm sideeffect "# reg use $0", "{t6}"(i32 %t6)1052 1053  ret void1054}1055 1056