# RUN: llc -mtriple=aarch64-none-linux-gnu -start-after branch-folder -stop-after branch-folder -o - %s | FileCheck %s
# This test ensures that the MIR parser parses the .cfi_def_cfa operands
# correctly.

--- |

  declare void @foo()

  define void @trivial_fp_func() {
  entry:
    call void @foo()
    ret void
  }

...
---
name:            trivial_fp_func
body: |
  bb.0.entry:
    liveins: %lr, %fp, %lr, %fp

    %sp = frame-setup STPXpre killed %fp, killed %lr, %sp, -2
    %fp = frame-setup ADDXri %sp, 0, 0
    ; CHECK: CFI_INSTRUCTION .cfi_def_cfa %w29, 16
    frame-setup CFI_INSTRUCTION .cfi_def_cfa %w29, 16
    frame-setup CFI_INSTRUCTION .cfi_offset %w30, -8
    frame-setup CFI_INSTRUCTION .cfi_offset %w29, -16
    BL @foo, csr_aarch64_aapcs, implicit-def dead %lr, implicit %sp, implicit-def %sp
    %sp, %fp, %lr = LDPXpost %sp, 2
    RET_ReallyLR
...