brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · e0c5041 Raw
84 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s | FileCheck %s3 4target triple = "aarch64-unknown-linux-gnu"5 6; Ensure we don't crash by trying to fold fixed length frame indexes into7; loads/stores that don't support an appropriate addressing mode, hence creating8; too many extra vregs during frame lowering, when we don't have an emergency9; spill slot.10 11define dso_local void @func1(ptr %v1, ptr %v2, ptr %v3, ptr %v4, ptr %v5, ptr %v6, ptr %v7, ptr %v8,12; CHECK-LABEL: func1:13; CHECK:       // %bb.0:14; CHECK-NEXT:    sub sp, sp, #36815; CHECK-NEXT:    stp x29, x30, [sp, #336] // 16-byte Folded Spill16; CHECK-NEXT:    str x28, [sp, #352] // 8-byte Spill17; CHECK-NEXT:    add x29, sp, #33618; CHECK-NEXT:    .cfi_def_cfa w29, 3219; CHECK-NEXT:    .cfi_offset w28, -1620; CHECK-NEXT:    .cfi_offset w30, -2421; CHECK-NEXT:    .cfi_offset w29, -3222; CHECK-NEXT:    add x8, x29, #3223; CHECK-NEXT:    add x9, x29, #7224; CHECK-NEXT:    ptrue p0.d25; CHECK-NEXT:    ldr z0, [x8]26; CHECK-NEXT:    add x8, x29, #25627; CHECK-NEXT:    ldr z3, [x9]28; CHECK-NEXT:    ldr z1, [x8]29; CHECK-NEXT:    add x8, x29, #28830; CHECK-NEXT:    add x9, x29, #16831; CHECK-NEXT:    ldr z2, [x8]32; CHECK-NEXT:    add x8, x29, #10433; CHECK-NEXT:    ldr z6, [x9]34; CHECK-NEXT:    ldr z4, [x8]35; CHECK-NEXT:    add x8, x29, #13636; CHECK-NEXT:    mov x12, #17 // =0x1137; CHECK-NEXT:    ldr z5, [x8]38; CHECK-NEXT:    ldp x10, x11, [x29, #336]39; CHECK-NEXT:    st1d { z6.d }, p0, [sp, x12, lsl #3]40; CHECK-NEXT:    mov x12, #13 // =0xd41; CHECK-NEXT:    ldr x8, [x29, #200]42; CHECK-NEXT:    ldr x9, [x29, #320]43; CHECK-NEXT:    st1d { z5.d }, p0, [sp, x12, lsl #3]44; CHECK-NEXT:    mov x12, #9 // =0x945; CHECK-NEXT:    st1d { z4.d }, p0, [sp, x12, lsl #3]46; CHECK-NEXT:    mov x12, #5 // =0x547; CHECK-NEXT:    st1d { z3.d }, p0, [sp, x12, lsl #3]48; CHECK-NEXT:    stp x10, x11, [sp, #304]49; CHECK-NEXT:    str x9, [sp, #288]50; CHECK-NEXT:    str z2, [sp, #8, mul vl]51; CHECK-NEXT:    str z1, [sp, #7, mul vl]52; CHECK-NEXT:    str x8, [sp, #168]53; CHECK-NEXT:    str z0, [sp]54; CHECK-NEXT:    bl func255; CHECK-NEXT:    ldp x29, x30, [sp, #336] // 16-byte Folded Reload56; CHECK-NEXT:    ldr x28, [sp, #352] // 8-byte Reload57; CHECK-NEXT:    add sp, sp, #36858; CHECK-NEXT:    ret59                             ptr %v9, ptr %v10, ptr %v11, ptr %v12, ptr %v13, ptr %v14,  ptr %v15, ptr %v16,60                             ptr %v17, ptr %v18, ptr %v19, ptr %v20, ptr %v21, ptr %v22, ptr %v23, ptr %v24,61                             ptr %v25, ptr %v26, ptr %v27, ptr %v28, ptr %v29, ptr %v30, ptr %v31, ptr %v32,62                             ptr %v33, ptr %v34, ptr %v35, ptr %v36, ptr %v37, ptr %v38, ptr %v39, ptr %v40,63                             ptr %v41, ptr %v42, ptr %v43, ptr %v44, ptr %v45, ptr %v46, ptr %v47, ptr %v48,64                             i64 %v49) #0 {65  call void @func2(ptr %v1, ptr %v2, ptr %v3, ptr %v4, ptr %v5, ptr %v6, ptr %v7, ptr %v8,66                   ptr %v9, ptr %v10, ptr %v11, ptr %v12, ptr undef, ptr %v14, ptr %v15, ptr %v16,67                   ptr %v17, ptr %v18, ptr %v19, ptr %v20, ptr %v21, ptr %v22, ptr %v23, ptr %v24,68                   ptr %v25, ptr %v26, ptr %v27, ptr %v28, ptr %v29, ptr %v30, ptr undef, ptr undef,69                   ptr undef, ptr undef, ptr undef, ptr undef, ptr %v37, ptr %v38, ptr %v39, ptr %v40,70                   ptr %v41, ptr %v42, ptr %v43, ptr %v44, ptr %v45, ptr undef, ptr %v47, ptr %v48,71                   i64 undef)72  ret void73}74 75declare dso_local void @func2(ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr,76                              ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr,77                              ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr,78                              ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr,79                              ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr,80                              ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr,81                              i64)82 83attributes #0 = { "target-features"="+sve" vscale_range(2,2) }84