23 lines · plain
1; RUN: llc -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -disable-post-ra --frame-pointer=all < %s | FileCheck %s2 3; The purpose of this test is to verify that frame pointer (x29)4; is correctly setup in the presence of callee-saved floating5; point registers. The frame pointer should point to the frame6; record, which is located 16 bytes above the end of the CSR7; space when a single FP CSR is in use.8define void @test1(i32) #26 {9entry:10 call void asm sideeffect "nop", "~{d8}"() #2611 ret void12}13; CHECK-LABEL: test1:14; CHECK: str d8, [sp, #-32]!15; CHECK-NEXT: stp x29, x30, [sp, #16]16; CHECK-NEXT: add x29, sp, #1617; CHECK: nop18; CHECK: ldp x29, x30, [sp, #16]19; CHECK-NEXT: ldr d8, [sp], #3220; CHECK-NEXT: ret21 22attributes #26 = { nounwind }23