brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · feb96de Raw
89 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv64 -mattr=+v -verify-machineinstrs \3; RUN:   < %s | FileCheck %s4 5define signext i32 @foo(i32 signext %aa) #0 {6; CHECK-LABEL: foo:7; CHECK:       # %bb.0: # %entry8; CHECK-NEXT:    addi sp, sp, -969; CHECK-NEXT:    .cfi_def_cfa_offset 9610; CHECK-NEXT:    sd ra, 88(sp) # 8-byte Folded Spill11; CHECK-NEXT:    sd s0, 80(sp) # 8-byte Folded Spill12; CHECK-NEXT:    sd s1, 72(sp) # 8-byte Folded Spill13; CHECK-NEXT:    .cfi_offset ra, -814; CHECK-NEXT:    .cfi_offset s0, -1615; CHECK-NEXT:    .cfi_offset s1, -2416; CHECK-NEXT:    addi s0, sp, 9617; CHECK-NEXT:    .cfi_def_cfa s0, 018; CHECK-NEXT:    csrr a1, vlenb19; CHECK-NEXT:    sub sp, sp, a120; CHECK-NEXT:    andi sp, sp, -1621; CHECK-NEXT:    mv s1, sp22; CHECK-NEXT:    lw t0, 44(s1)23; CHECK-NEXT:    lw a2, 40(s1)24; CHECK-NEXT:    lw a3, 36(s1)25; CHECK-NEXT:    lw a4, 32(s1)26; CHECK-NEXT:    lw a5, 28(s1)27; CHECK-NEXT:    lw a6, 24(s1)28; CHECK-NEXT:    lw a7, 20(s1)29; CHECK-NEXT:    lw t1, 16(s1)30; CHECK-NEXT:    lw t2, 12(s1)31; CHECK-NEXT:    lw t3, 8(s1)32; CHECK-NEXT:    sw a0, 52(s1)33; CHECK-NEXT:    sw a0, 48(s1)34; CHECK-NEXT:    addi sp, sp, -3235; CHECK-NEXT:    addi a1, s1, 4836; CHECK-NEXT:    sd t1, 0(sp)37; CHECK-NEXT:    sd t2, 8(sp)38; CHECK-NEXT:    sd t3, 16(sp)39; CHECK-NEXT:    mv a0, t040; CHECK-NEXT:    call gfunc41; CHECK-NEXT:    addi sp, sp, 3242; CHECK-NEXT:    li a0, 043; CHECK-NEXT:    addi sp, s0, -9644; CHECK-NEXT:    .cfi_def_cfa sp, 9645; CHECK-NEXT:    ld ra, 88(sp) # 8-byte Folded Reload46; CHECK-NEXT:    ld s0, 80(sp) # 8-byte Folded Reload47; CHECK-NEXT:    ld s1, 72(sp) # 8-byte Folded Reload48; CHECK-NEXT:    .cfi_restore ra49; CHECK-NEXT:    .cfi_restore s050; CHECK-NEXT:    .cfi_restore s151; CHECK-NEXT:    addi sp, sp, 9652; CHECK-NEXT:    .cfi_def_cfa_offset 053; CHECK-NEXT:    ret54entry:55  %aa.addr = alloca i32, align 456  %local = alloca i32, align 457  %a = alloca i32, align 458  %b = alloca i32, align 459  %c = alloca i32, align 460  %d = alloca i32, align 461  %e = alloca i32, align 462  %f = alloca i32, align 463  %g = alloca i32, align 464  %h = alloca i32, align 465  %i = alloca i32, align 466  %j = alloca i32, align 467  %local_v = alloca <vscale x 2 x i32>, align 468  store i32 %aa, ptr %aa.addr, align 469  %0 = load i32, ptr %aa.addr, align 470  store i32 %0, ptr %local, align 471  %1 = load i32, ptr %a, align 472  %2 = load i32, ptr %b, align 473  %3 = load i32, ptr %c, align 474  %4 = load i32, ptr %d, align 475  %5 = load i32, ptr %e, align 476  %6 = load i32, ptr %f, align 477  %7 = load i32, ptr %g, align 478  %8 = load i32, ptr %h, align 479  %9 = load i32, ptr %i, align 480  %10 = load i32, ptr %j, align 481  call void @gfunc(i32 signext %1, ptr %local, i32 signext %2, i32 signext %3, i32 signext %4, i32 signext %5, i32 signext %6, i32 signext %7, i32 %8, i32 %9, i32 %10)82  ret i32 083}84 85declare void @gfunc(i32 signext, ptr, i32 signext, i32 signext, i32 signext, i32 signext, i32 signext, i32 signext, i32, i32, i32) #186 87attributes #0 = { "stackrealign" }88attributes #1 = { "stackrealign" }89