33 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s | FileCheck %s3;4; The test case check that RV64 could handle the stack adjustment offset exceed5; 32-bit.6 7define void @foo() nounwind {8; CHECK-LABEL: foo:9; CHECK: # %bb.0: # %entry10; CHECK-NEXT: addi sp, sp, -203211; CHECK-NEXT: sd ra, 2024(sp) # 8-byte Folded Spill12; CHECK-NEXT: lui a0, 39062513; CHECK-NEXT: slli a0, a0, 114; CHECK-NEXT: addi a0, a0, -200015; CHECK-NEXT: sub sp, sp, a016; CHECK-NEXT: addi a0, sp, 1617; CHECK-NEXT: call baz18; CHECK-NEXT: lui a0, 39062519; CHECK-NEXT: slli a0, a0, 120; CHECK-NEXT: addi a0, a0, -200021; CHECK-NEXT: add sp, sp, a022; CHECK-NEXT: ld ra, 2024(sp) # 8-byte Folded Reload23; CHECK-NEXT: addi sp, sp, 203224; CHECK-NEXT: ret25entry:26 %w = alloca [100000000 x { fp128, fp128 }], align 1627 %arraydecay = getelementptr inbounds [100000000 x { fp128, fp128 }], ptr %w, i64 0, i64 028 call void @baz(ptr nonnull %arraydecay)29 ret void30}31 32declare void @baz(ptr)33