1; RUN: llc -mtriple=thumbv7k-apple-watchos7.0 -o - %s | FileCheck %s 2 3; Since d11 doesn't get pushed with the aligned registers, its frameindex 4; shouldn't be modified to say it has been. 5 6define void @foo() { 7; CHECK-LABEL: foo: 8; CHECK: push {r7, lr} 9; CHECK: .cfi_offset r7, -8 10; CHECK: vpush {d11} 11; CHECK: vpush {d8, d9} 12; CHECK: .cfi_offset d11, -16 13; CHECK: .cfi_offset d9, -24 14; CHECK: .cfi_offset d8, -32 15 call void asm sideeffect "", "~{d8},~{d9},~{d11}"() 16 call void @bar() 17 ret void 18} 19 20define void @variadic_foo(i8, ...) { 21; CHECK-LABEL: variadic_foo: 22; CHECK: sub sp, #12 23; CHECK: push {r7, lr} 24; CHECK: .cfi_offset r7, -20 25; CHECK: sub sp, #4 26; CHECK: vpush {d11} 27; CHECK: vpush {d8, d9} 28; CHECK: .cfi_offset d11, -32 29; CHECK: .cfi_offset d9, -40 30; CHECK: .cfi_offset d8, -48 31 call void asm sideeffect "", "~{d8},~{d9},~{d11}"() 32 call void @llvm.va_start(i8* null) 33 call void @bar() 34 ret void 35} 36 37define void @test_maintain_stack_align() { 38; CHECK-LABEL: test_maintain_stack_align: 39; CHECK: push {r7, lr} 40; CHECK: vpush {d8, d9} 41; CHECK: sub sp, #8 42 call void asm sideeffect "", "~{d8},~{d9}"() 43 call void @bar() 44 ret void 45} 46 47declare void @bar() 48declare void @llvm.va_start(i8*) nounwind 49