brintos

brintos / llvm-project-archived public Read only

0
0
Text · 802 B · 3b13dee Raw
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