[ARM] Use DWARF register numbers for CFI directives in ELF assembly
authorHans Wennborg <hans@hanshq.net>
Wed, 12 Mar 2014 03:52:34 +0000 (03:52 +0000)
committerHans Wennborg <hans@hanshq.net>
Wed, 12 Mar 2014 03:52:34 +0000 (03:52 +0000)
It seems gas can't handle CFI directives with VFP register names ("d12", etc.).
This broke us trying to build Chromium for Android after 201423.

A gas bug has been filed: https://sourceware.org/bugzilla/show_bug.cgi?id=16694

compnerd suggested making this conditional on whether we're using the integrated
assembler or not. I'll look into that in a follow-up patch.

Differential Revision: http://llvm-reviews.chandlerc.com/D3049

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203635 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
test/CodeGen/ARM/debug-frame-large-stack.ll
test/CodeGen/ARM/debug-frame-vararg.ll
test/CodeGen/ARM/debug-frame.ll

index 4c5f21a05420fa93b3487e0593e34d9cf6e664cc..667d11b7414dd582fbce3c6477b2aa8dbee36cfe 100644 (file)
@@ -54,4 +54,7 @@ ARMELFMCAsmInfo::ARMELFMCAsmInfo() {
   UseParensForSymbolVariant = true;
 
   UseIntegratedAssembler = true;
+
+  // gas doesn't handle VFP register names in cfi directives.
+  DwarfRegNumForCFI = true;
 }
index 5bafce9407e5396ff06b6690f9e8d55635478b4c..6ce6680e572bc71adb6f280f48e1b27d1b52924a 100644 (file)
@@ -42,8 +42,8 @@ define void @test2() {
 ; CHECK-ARM: .cfi_startproc
 ; CHECK-ARM: push    {r4, r5}
 ; CHECK-ARM: .cfi_def_cfa_offset 8
-; CHECK-ARM: .cfi_offset r5, -4
-; CHECK-ARM: .cfi_offset r4, -8
+; CHECK-ARM: .cfi_offset 5, -4
+; CHECK-ARM: .cfi_offset 4, -8
 ; CHECK-ARM: sub    sp, sp, #72
 ; CHECK-ARM: sub    sp, sp, #4096
 ; CHECK-ARM: .cfi_def_cfa_offset 4176
@@ -54,7 +54,7 @@ define void @test2() {
 ; CHECK-ARM-FP_ELIM: push    {r4, r5}
 ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 8
 ; CHECK-ARM-FP_ELIM: .cfi_offset 54, -4
-; CHECK-ARM-FP_ELIM: .cfi_offset r4, -8
+; CHECK-ARM-FP_ELIM: .cfi_offset 4, -8
 ; CHECK-ARM-FP_ELIM: sub    sp, sp, #72
 ; CHECK-ARM-FP_ELIM: sub    sp, sp, #4096
 ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 4176
@@ -73,11 +73,11 @@ define i32 @test3() {
 ; CHECK-ARM: .cfi_startproc
 ; CHECK-ARM: push    {r4, r5, r11}
 ; CHECK-ARM: .cfi_def_cfa_offset 12
-; CHECK-ARM: .cfi_offset r11, -4
-; CHECK-ARM: .cfi_offset r5, -8
-; CHECK-ARM: .cfi_offset r4, -12
+; CHECK-ARM: .cfi_offset 11, -4
+; CHECK-ARM: .cfi_offset 5, -8
+; CHECK-ARM: .cfi_offset 4, -12
 ; CHECK-ARM: add    r11, sp, #8
-; CHECK-ARM: .cfi_def_cfa r11, 4
+; CHECK-ARM: .cfi_def_cfa 11, 4
 ; CHECK-ARM: sub    sp, sp, #20
 ; CHECK-ARM: sub    sp, sp, #805306368
 ; CHECK-ARM: bic    sp, sp, #15
@@ -87,11 +87,11 @@ define i32 @test3() {
 ; CHECK-ARM-FP-ELIM: .cfi_startproc
 ; CHECK-ARM-FP-ELIM: push    {r4, r5, r11}
 ; CHECK-ARM-FP-ELIM: .cfi_def_cfa_offset 12
-; CHECK-ARM-FP-ELIM: .cfi_offset r11, -4
-; CHECK-ARM-FP-ELIM: .cfi_offset r5, -8
-; CHECK-ARM-FP-ELIM: .cfi_offset r4, -12
+; CHECK-ARM-FP-ELIM: .cfi_offset 11, -4
+; CHECK-ARM-FP-ELIM: .cfi_offset 5, -8
+; CHECK-ARM-FP-ELIM: .cfi_offset 4, -12
 ; CHECK-ARM-FP-ELIM: add    r11, sp, #8
-; CHECK-ARM-FP-ELIM: .cfi_def_cfa r11, 4
+; CHECK-ARM-FP-ELIM: .cfi_def_cfa 11, 4
 ; CHECK-ARM-FP-ELIM: sub    sp, sp, #20
 ; CHECK-ARM-FP-ELIM: sub    sp, sp, #805306368
 ; CHECK-ARM-FP-ELIM: bic    sp, sp, #15
index 9b39525e5275fb6ac89da87c536d5020b6b7dfce..2a7d7947db04dbff6f3bccc4fba1f8abb108c291 100644 (file)
@@ -66,8 +66,8 @@
 ; CHECK-FP: .cfi_def_cfa_offset 16
 ; CHECK-FP: push   {r4, lr}
 ; CHECK-FP: .cfi_def_cfa_offset 24
-; CHECK-FP: .cfi_offset lr, -20
-; CHECK-FP: .cfi_offset r4, -24
+; CHECK-FP: .cfi_offset 14, -20
+; CHECK-FP: .cfi_offset 4, -24
 ; CHECK-FP: sub    sp, sp, #8
 ; CHECK-FP: .cfi_def_cfa_offset 32
 
 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16
 ; CHECK-FP-ELIM: push   {r4, r11, lr}
 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 28
-; CHECK-FP-ELIM: .cfi_offset lr, -20
-; CHECK-FP-ELIM: .cfi_offset r11, -24
-; CHECK-FP-ELIM: .cfi_offset r4, -28
+; CHECK-FP-ELIM: .cfi_offset 14, -20
+; CHECK-FP-ELIM: .cfi_offset 11, -24
+; CHECK-FP-ELIM: .cfi_offset 4, -28
 ; CHECK-FP-ELIM: add    r11, sp, #4
-; CHECK-FP-ELIM: .cfi_def_cfa r11, 24
+; CHECK-FP-ELIM: .cfi_def_cfa 11, 24
 
 ; CHECK-THUMB-FP-LABEL: sum
 ; CHECK-THUMB-FP: .cfi_startproc
 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16
 ; CHECK-THUMB-FP: push   {r4, r5, r7, lr}
 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 32
-; CHECK-THUMB-FP: .cfi_offset lr, -20
-; CHECK-THUMB-FP: .cfi_offset r7, -24
-; CHECK-THUMB-FP: .cfi_offset r5, -28
-; CHECK-THUMB-FP: .cfi_offset r4, -32
+; CHECK-THUMB-FP: .cfi_offset 14, -20
+; CHECK-THUMB-FP: .cfi_offset 7, -24
+; CHECK-THUMB-FP: .cfi_offset 5, -28
+; CHECK-THUMB-FP: .cfi_offset 4, -32
 ; CHECK-THUMB-FP: sub    sp, #8
 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 40
 
 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16
 ; CHECK-THUMB-FP-ELIM: push   {r4, r5, r7, lr}
 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 32
-; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -20
-; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -24
-; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -28
-; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -32
+; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -20
+; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -24
+; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -28
+; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -32
 ; CHECK-THUMB-FP-ELIM: add    r7, sp, #8
-; CHECK-THUMB-FP-ELIM: .cfi_def_cfa r7, 24
+; CHECK-THUMB-FP-ELIM: .cfi_def_cfa 7, 24
 
 define i32 @sum(i32 %count, ...) {
 entry:
index 73357df8e2eba85b71815342da16eb7ab34d3ec9..527fea8c204a42719e89c6b03486e76f98a6446c 100644 (file)
@@ -163,17 +163,17 @@ declare void @_ZSt9terminatev()
 ; CHECK-FP:   .cfi_startproc
 ; CHECK-FP:   push   {r4, r5, r6, r7, r8, r9, r10, r11, lr}
 ; CHECK-FP:   .cfi_def_cfa_offset 36
-; CHECK-FP:   .cfi_offset lr, -4
-; CHECK-FP:   .cfi_offset r11, -8
-; CHECK-FP:   .cfi_offset r10, -12
-; CHECK-FP:   .cfi_offset r9, -16
-; CHECK-FP:   .cfi_offset r8, -20
-; CHECK-FP:   .cfi_offset r7, -24
-; CHECK-FP:   .cfi_offset r6, -28
-; CHECK-FP:   .cfi_offset r5, -32
-; CHECK-FP:   .cfi_offset r4, -36
+; CHECK-FP:   .cfi_offset 14, -4
+; CHECK-FP:   .cfi_offset 11, -8
+; CHECK-FP:   .cfi_offset 10, -12
+; CHECK-FP:   .cfi_offset 9, -16
+; CHECK-FP:   .cfi_offset 8, -20
+; CHECK-FP:   .cfi_offset 7, -24
+; CHECK-FP:   .cfi_offset 6, -28
+; CHECK-FP:   .cfi_offset 5, -32
+; CHECK-FP:   .cfi_offset 4, -36
 ; CHECK-FP:   add    r11, sp, #28
-; CHECK-FP:   .cfi_def_cfa r11, 8
+; CHECK-FP:   .cfi_def_cfa 11, 8
 ; CHECK-FP:   sub    sp, sp, #28
 ; CHECK-FP:   .cfi_endproc
 
@@ -181,15 +181,15 @@ declare void @_ZSt9terminatev()
 ; CHECK-FP-ELIM:   .cfi_startproc
 ; CHECK-FP-ELIM:   push  {r4, r5, r6, r7, r8, r9, r10, r11, lr}
 ; CHECK-FP-ELIM:   .cfi_def_cfa_offset 36
-; CHECK-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-FP-ELIM:   .cfi_offset r11, -8
-; CHECK-FP-ELIM:   .cfi_offset r10, -12
-; CHECK-FP-ELIM:   .cfi_offset r9, -16
-; CHECK-FP-ELIM:   .cfi_offset r8, -20
-; CHECK-FP-ELIM:   .cfi_offset r7, -24
-; CHECK-FP-ELIM:   .cfi_offset r6, -28
-; CHECK-FP-ELIM:   .cfi_offset r5, -32
-; CHECK-FP-ELIM:   .cfi_offset r4, -36
+; CHECK-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-FP-ELIM:   .cfi_offset 11, -8
+; CHECK-FP-ELIM:   .cfi_offset 10, -12
+; CHECK-FP-ELIM:   .cfi_offset 9, -16
+; CHECK-FP-ELIM:   .cfi_offset 8, -20
+; CHECK-FP-ELIM:   .cfi_offset 7, -24
+; CHECK-FP-ELIM:   .cfi_offset 6, -28
+; CHECK-FP-ELIM:   .cfi_offset 5, -32
+; CHECK-FP-ELIM:   .cfi_offset 4, -36
 ; CHECK-FP-ELIM:   sub   sp, sp, #28
 ; CHECK-FP-ELIM:   .cfi_def_cfa_offset 64
 ; CHECK-FP-ELIM:   .cfi_endproc
@@ -198,17 +198,17 @@ declare void @_ZSt9terminatev()
 ; CHECK-V7-FP:   .cfi_startproc
 ; CHECK-V7-FP:   push   {r4, r11, lr}
 ; CHECK-V7-FP:   .cfi_def_cfa_offset 12
-; CHECK-V7-FP:   .cfi_offset lr, -4
-; CHECK-V7-FP:   .cfi_offset r11, -8
-; CHECK-V7-FP:   .cfi_offset r4, -12
+; CHECK-V7-FP:   .cfi_offset 14, -4
+; CHECK-V7-FP:   .cfi_offset 11, -8
+; CHECK-V7-FP:   .cfi_offset 4, -12
 ; CHECK-V7-FP:   add    r11, sp, #4
-; CHECK-V7-FP:   .cfi_def_cfa r11, 8
+; CHECK-V7-FP:   .cfi_def_cfa 11, 8
 ; CHECK-V7-FP:   vpush  {d8, d9, d10, d11, d12}
-; CHECK-V7-FP:   .cfi_offset d12, -24
-; CHECK-V7-FP:   .cfi_offset d11, -32
-; CHECK-V7-FP:   .cfi_offset d10, -40
-; CHECK-V7-FP:   .cfi_offset d9, -48
-; CHECK-V7-FP:   .cfi_offset d8, -56
+; CHECK-V7-FP:   .cfi_offset 268, -24
+; CHECK-V7-FP:   .cfi_offset 267, -32
+; CHECK-V7-FP:   .cfi_offset 266, -40
+; CHECK-V7-FP:   .cfi_offset 265, -48
+; CHECK-V7-FP:   .cfi_offset 264, -56
 ; CHECK-V7-FP:   sub    sp, sp, #28
 ; CHECK-V7-FP:   .cfi_endproc
 
@@ -216,15 +216,15 @@ declare void @_ZSt9terminatev()
 ; CHECK-V7-FP-ELIM:   .cfi_startproc
 ; CHECK-V7-FP-ELIM:   push   {r4, lr}
 ; CHECK-V7-FP-ELIM:   .cfi_def_cfa_offset 8
-; CHECK-V7-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-V7-FP-ELIM:   .cfi_offset r4, -8
+; CHECK-V7-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-V7-FP-ELIM:   .cfi_offset 4, -8
 ; CHECK-V7-FP-ELIM:   vpush  {d8, d9, d10, d11, d12}
 ; CHECK-V7-FP-ELIM:   .cfi_def_cfa_offset 48
-; CHECK-V7-FP-ELIM:   .cfi_offset d12, -16
-; CHECK-V7-FP-ELIM:   .cfi_offset d11, -24
-; CHECK-V7-FP-ELIM:   .cfi_offset d10, -32
-; CHECK-V7-FP-ELIM:   .cfi_offset d9, -40
-; CHECK-V7-FP-ELIM:   .cfi_offset d8, -48
+; CHECK-V7-FP-ELIM:   .cfi_offset 268, -16
+; CHECK-V7-FP-ELIM:   .cfi_offset 267, -24
+; CHECK-V7-FP-ELIM:   .cfi_offset 266, -32
+; CHECK-V7-FP-ELIM:   .cfi_offset 265, -40
+; CHECK-V7-FP-ELIM:   .cfi_offset 264, -48
 ; CHECK-V7-FP-ELIM:   sub    sp, sp, #24
 ; CHECK-V7-FP-ELIM:   .cfi_def_cfa_offset 72
 ; CHECK-V7-FP-ELIM:   .cfi_endproc
@@ -233,13 +233,13 @@ declare void @_ZSt9terminatev()
 ; CHECK-THUMB-FP:   .cfi_startproc
 ; CHECK-THUMB-FP:   push   {r4, r5, r6, r7, lr}
 ; CHECK-THUMB-FP:   .cfi_def_cfa_offset 20
-; CHECK-THUMB-FP:   .cfi_offset lr, -4
-; CHECK-THUMB-FP:   .cfi_offset r7, -8
-; CHECK-THUMB-FP:   .cfi_offset r6, -12
-; CHECK-THUMB-FP:   .cfi_offset r5, -16
-; CHECK-THUMB-FP:   .cfi_offset r4, -20
+; CHECK-THUMB-FP:   .cfi_offset 14, -4
+; CHECK-THUMB-FP:   .cfi_offset 7, -8
+; CHECK-THUMB-FP:   .cfi_offset 6, -12
+; CHECK-THUMB-FP:   .cfi_offset 5, -16
+; CHECK-THUMB-FP:   .cfi_offset 4, -20
 ; CHECK-THUMB-FP:   add    r7, sp, #12
-; CHECK-THUMB-FP:   .cfi_def_cfa r7, 8
+; CHECK-THUMB-FP:   .cfi_def_cfa 7, 8
 ; CHECK-THUMB-FP:   sub    sp, #60
 ; CHECK-THUMB-FP:   .cfi_endproc
 
@@ -247,11 +247,11 @@ declare void @_ZSt9terminatev()
 ; CHECK-THUMB-FP-ELIM:   .cfi_startproc
 ; CHECK-THUMB-FP-ELIM:   push   {r4, r5, r6, r7, lr}
 ; CHECK-THUMB-FP-ELIM:   .cfi_def_cfa_offset 20
-; CHECK-THUMB-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-THUMB-FP-ELIM:   .cfi_offset r7, -8
-; CHECK-THUMB-FP-ELIM:   .cfi_offset r6, -12
-; CHECK-THUMB-FP-ELIM:   .cfi_offset r5, -16
-; CHECK-THUMB-FP-ELIM:   .cfi_offset r4, -20
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 7, -8
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 6, -12
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 5, -16
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 4, -20
 ; CHECK-THUMB-FP-ELIM:   sub    sp, #60
 ; CHECK-THUMB-FP-ELIM:   .cfi_def_cfa_offset 80
 ; CHECK-THUMB-FP-ELIM:   .cfi_endproc
@@ -260,18 +260,18 @@ declare void @_ZSt9terminatev()
 ; CHECK-THUMB-V7-FP:   .cfi_startproc
 ; CHECK-THUMB-V7-FP:   push.w   {r4, r7, r11, lr}
 ; CHECK-THUMB-V7-FP:   .cfi_def_cfa_offset 16
-; CHECK-THUMB-V7-FP:   .cfi_offset lr, -4
-; CHECK-THUMB-V7-FP:   .cfi_offset r11, -8
-; CHECK-THUMB-V7-FP:   .cfi_offset r7, -12
-; CHECK-THUMB-V7-FP:   .cfi_offset r4, -16
+; CHECK-THUMB-V7-FP:   .cfi_offset 14, -4
+; CHECK-THUMB-V7-FP:   .cfi_offset 11, -8
+; CHECK-THUMB-V7-FP:   .cfi_offset 7, -12
+; CHECK-THUMB-V7-FP:   .cfi_offset 4, -16
 ; CHECK-THUMB-V7-FP:   add    r7, sp, #4
-; CHECK-THUMB-V7-FP:   .cfi_def_cfa r7, 12
+; CHECK-THUMB-V7-FP:   .cfi_def_cfa 7, 12
 ; CHECK-THUMB-V7-FP:   vpush  {d8, d9, d10, d11, d12}
-; CHECK-THUMB-V7-FP:   .cfi_offset d12, -24
-; CHECK-THUMB-V7-FP:   .cfi_offset d11, -32
-; CHECK-THUMB-V7-FP:   .cfi_offset d10, -40
-; CHECK-THUMB-V7-FP:   .cfi_offset d9, -48
-; CHECK-THUMB-V7-FP:   .cfi_offset d8, -56
+; CHECK-THUMB-V7-FP:   .cfi_offset 268, -24
+; CHECK-THUMB-V7-FP:   .cfi_offset 267, -32
+; CHECK-THUMB-V7-FP:   .cfi_offset 266, -40
+; CHECK-THUMB-V7-FP:   .cfi_offset 265, -48
+; CHECK-THUMB-V7-FP:   .cfi_offset 264, -56
 ; CHECK-THUMB-V7-FP:   sub    sp, #24
 ; CHECK-THUMB-V7-FP:   .cfi_endproc
 
@@ -279,15 +279,15 @@ declare void @_ZSt9terminatev()
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_startproc
 ; CHECK-THUMB-V7-FP-ELIM:   push   {r4, lr}
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_def_cfa_offset 8
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset r4, -8
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 4, -8
 ; CHECK-THUMB-V7-FP-ELIM:   vpush  {d8, d9, d10, d11, d12}
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_def_cfa_offset 48
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset d12, -16
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset d11, -24
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset d10, -32
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset d9, -40
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset d8, -48
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 268, -16
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 267, -24
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 266, -32
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 265, -40
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 264, -48
 ; CHECK-THUMB-V7-FP-ELIM:   sub    sp, #24
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_def_cfa_offset 72
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_endproc
@@ -309,10 +309,10 @@ entry:
 ; CHECK-FP:   .cfi_startproc
 ; CHECK-FP:   push   {r11, lr}
 ; CHECK-FP:   .cfi_def_cfa_offset 8
-; CHECK-FP:   .cfi_offset lr, -4
-; CHECK-FP:   .cfi_offset r11, -8
+; CHECK-FP:   .cfi_offset 14, -4
+; CHECK-FP:   .cfi_offset 11, -8
 ; CHECK-FP:   mov    r11, sp
-; CHECK-FP:   .cfi_def_cfa_register r11
+; CHECK-FP:   .cfi_def_cfa_register 11
 ; CHECK-FP:   pop    {r11, lr}
 ; CHECK-FP:   mov    pc, lr
 ; CHECK-FP:   .cfi_endproc
@@ -321,8 +321,8 @@ entry:
 ; CHECK-FP-ELIM:   .cfi_startproc
 ; CHECK-FP-ELIM:   push  {r11, lr}
 ; CHECK-FP-ELIM:   .cfi_def_cfa_offset 8
-; CHECK-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-FP-ELIM:   .cfi_offset r11, -8
+; CHECK-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-FP-ELIM:   .cfi_offset 11, -8
 ; CHECK-FP-ELIM:   pop   {r11, lr}
 ; CHECK-FP-ELIM:   mov   pc, lr
 ; CHECK-FP-ELIM:   .cfi_endproc
@@ -331,10 +331,10 @@ entry:
 ; CHECK-V7-FP:   .cfi_startproc
 ; CHECK-V7-FP:   push   {r11, lr}
 ; CHECK-V7-FP:   .cfi_def_cfa_offset 8
-; CHECK-V7-FP:   .cfi_offset lr, -4
-; CHECK-V7-FP:   .cfi_offset r11, -8
+; CHECK-V7-FP:   .cfi_offset 14, -4
+; CHECK-V7-FP:   .cfi_offset 11, -8
 ; CHECK-V7-FP:   mov    r11, sp
-; CHECK-V7-FP:   .cfi_def_cfa_register r11
+; CHECK-V7-FP:   .cfi_def_cfa_register 11
 ; CHECK-V7-FP:   pop    {r11, pc}
 ; CHECK-V7-FP:   .cfi_endproc
 
@@ -342,8 +342,8 @@ entry:
 ; CHECK-V7-FP-ELIM:   .cfi_startproc
 ; CHECK-V7-FP-ELIM:   push  {r11, lr}
 ; CHECK-V7-FP-ELIM:   .cfi_def_cfa_offset 8
-; CHECK-V7-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-V7-FP-ELIM:   .cfi_offset r11, -8
+; CHECK-V7-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-V7-FP-ELIM:   .cfi_offset 11, -8
 ; CHECK-V7-FP-ELIM:   pop   {r11, pc}
 ; CHECK-V7-FP-ELIM:   .cfi_endproc
 
@@ -351,10 +351,10 @@ entry:
 ; CHECK-THUMB-FP:   .cfi_startproc
 ; CHECK-THUMB-FP:   push   {r7, lr}
 ; CHECK-THUMB-FP:   .cfi_def_cfa_offset 8
-; CHECK-THUMB-FP:   .cfi_offset lr, -4
-; CHECK-THUMB-FP:   .cfi_offset r7, -8
+; CHECK-THUMB-FP:   .cfi_offset 14, -4
+; CHECK-THUMB-FP:   .cfi_offset 7, -8
 ; CHECK-THUMB-FP:   add    r7, sp, #0
-; CHECK-THUMB-FP:   .cfi_def_cfa_register r7
+; CHECK-THUMB-FP:   .cfi_def_cfa_register 7
 ; CHECK-THUMB-FP:   pop    {r7, pc}
 ; CHECK-THUMB-FP:   .cfi_endproc
 
@@ -362,8 +362,8 @@ entry:
 ; CHECK-THUMB-FP-ELIM:   .cfi_startproc
 ; CHECK-THUMB-FP-ELIM:   push  {r7, lr}
 ; CHECK-THUMB-FP-ELIM:   .cfi_def_cfa_offset 8
-; CHECK-THUMB-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-THUMB-FP-ELIM:   .cfi_offset r7, -8
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 7, -8
 ; CHECK-THUMB-FP-ELIM:   pop   {r7, pc}
 ; CHECK-THUMB-FP-ELIM:   .cfi_endproc
 
@@ -371,10 +371,10 @@ entry:
 ; CHECK-THUMB-V7-FP:   .cfi_startproc
 ; CHECK-THUMB-V7-FP:   push   {r7, lr}
 ; CHECK-THUMB-V7-FP:   .cfi_def_cfa_offset 8
-; CHECK-THUMB-V7-FP:   .cfi_offset lr, -4
-; CHECK-THUMB-V7-FP:   .cfi_offset r7, -8
+; CHECK-THUMB-V7-FP:   .cfi_offset 14, -4
+; CHECK-THUMB-V7-FP:   .cfi_offset 7, -8
 ; CHECK-THUMB-V7-FP:   mov    r7, sp
-; CHECK-THUMB-V7-FP:   .cfi_def_cfa_register r7
+; CHECK-THUMB-V7-FP:   .cfi_def_cfa_register 7
 ; CHECK-THUMB-V7-FP:   pop    {r7, pc}
 ; CHECK-THUMB-V7-FP:   .cfi_endproc
 
@@ -382,8 +382,8 @@ entry:
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_startproc
 ; CHECK-THUMB-V7-FP-ELIM:   push.w  {r11, lr}
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_def_cfa_offset 8
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset r11, -8
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 11, -8
 ; CHECK-THUMB-V7-FP-ELIM:   pop.w   {r11, pc}
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_endproc
 
@@ -413,12 +413,12 @@ entry:
 ; CHECK-FP:   .cfi_startproc
 ; CHECK-FP:   push   {r4, r5, r11, lr}
 ; CHECK-FP:   .cfi_def_cfa_offset 16
-; CHECK-FP:   .cfi_offset lr, -4
-; CHECK-FP:   .cfi_offset r11, -8
-; CHECK-FP:   .cfi_offset r5, -12
-; CHECK-FP:   .cfi_offset r4, -16
+; CHECK-FP:   .cfi_offset 14, -4
+; CHECK-FP:   .cfi_offset 11, -8
+; CHECK-FP:   .cfi_offset 5, -12
+; CHECK-FP:   .cfi_offset 4, -16
 ; CHECK-FP:   add    r11, sp, #8
-; CHECK-FP:   .cfi_def_cfa r11, 8
+; CHECK-FP:   .cfi_def_cfa 11, 8
 ; CHECK-FP:   pop    {r4, r5, r11, lr}
 ; CHECK-FP:   mov    pc, lr
 ; CHECK-FP:   .cfi_endproc
@@ -427,10 +427,10 @@ entry:
 ; CHECK-FP-ELIM:   .cfi_startproc
 ; CHECK-FP-ELIM:   push  {r4, r5, r11, lr}
 ; CHECK-FP-ELIM:   .cfi_def_cfa_offset 16
-; CHECK-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-FP-ELIM:   .cfi_offset r11, -8
-; CHECK-FP-ELIM:   .cfi_offset r5, -12
-; CHECK-FP-ELIM:   .cfi_offset r4, -16
+; CHECK-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-FP-ELIM:   .cfi_offset 11, -8
+; CHECK-FP-ELIM:   .cfi_offset 5, -12
+; CHECK-FP-ELIM:   .cfi_offset 4, -16
 ; CHECK-FP-ELIM:   pop   {r4, r5, r11, lr}
 ; CHECK-FP-ELIM:   mov   pc, lr
 ; CHECK-FP-ELIM:   .cfi_endproc
@@ -439,12 +439,12 @@ entry:
 ; CHECK-V7-FP:   .cfi_startproc
 ; CHECK-V7-FP:   push   {r4, r5, r11, lr}
 ; CHECK-V7-FP:   .cfi_def_cfa_offset 16
-; CHECK-V7-FP:   .cfi_offset lr, -4
-; CHECK-V7-FP:   .cfi_offset r11, -8
-; CHECK-V7-FP:   .cfi_offset r5, -12
-; CHECK-V7-FP:   .cfi_offset r4, -16
+; CHECK-V7-FP:   .cfi_offset 14, -4
+; CHECK-V7-FP:   .cfi_offset 11, -8
+; CHECK-V7-FP:   .cfi_offset 5, -12
+; CHECK-V7-FP:   .cfi_offset 4, -16
 ; CHECK-V7-FP:   add    r11, sp, #8
-; CHECK-V7-FP:   .cfi_def_cfa r11, 8
+; CHECK-V7-FP:   .cfi_def_cfa 11, 8
 ; CHECK-V7-FP:   pop    {r4, r5, r11, pc}
 ; CHECK-V7-FP:   .cfi_endproc
 
@@ -452,10 +452,10 @@ entry:
 ; CHECK-V7-FP-ELIM:   .cfi_startproc
 ; CHECK-V7-FP-ELIM:   push  {r4, r5, r11, lr}
 ; CHECK-V7-FP-ELIM:   .cfi_def_cfa_offset 16
-; CHECK-V7-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-V7-FP-ELIM:   .cfi_offset r11, -8
-; CHECK-V7-FP-ELIM:   .cfi_offset r5, -12
-; CHECK-V7-FP-ELIM:   .cfi_offset r4, -16
+; CHECK-V7-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-V7-FP-ELIM:   .cfi_offset 11, -8
+; CHECK-V7-FP-ELIM:   .cfi_offset 5, -12
+; CHECK-V7-FP-ELIM:   .cfi_offset 4, -16
 ; CHECK-V7-FP-ELIM:   pop   {r4, r5, r11, pc}
 ; CHECK-V7-FP-ELIM:   .cfi_endproc
 
@@ -463,12 +463,12 @@ entry:
 ; CHECK-THUMB-FP:   .cfi_startproc
 ; CHECK-THUMB-FP:   push   {r4, r5, r7, lr}
 ; CHECK-THUMB-FP:   .cfi_def_cfa_offset 16
-; CHECK-THUMB-FP:   .cfi_offset lr, -4
-; CHECK-THUMB-FP:   .cfi_offset r7, -8
-; CHECK-THUMB-FP:   .cfi_offset r5, -12
-; CHECK-THUMB-FP:   .cfi_offset r4, -16
+; CHECK-THUMB-FP:   .cfi_offset 14, -4
+; CHECK-THUMB-FP:   .cfi_offset 7, -8
+; CHECK-THUMB-FP:   .cfi_offset 5, -12
+; CHECK-THUMB-FP:   .cfi_offset 4, -16
 ; CHECK-THUMB-FP:   add    r7, sp, #8
-; CHECK-THUMB-FP:   .cfi_def_cfa r7, 8
+; CHECK-THUMB-FP:   .cfi_def_cfa 7, 8
 ; CHECK-THUMB-FP:   pop    {r4, r5, r7, pc}
 ; CHECK-THUMB-FP:   .cfi_endproc
 
@@ -476,10 +476,10 @@ entry:
 ; CHECK-THUMB-FP-ELIM:   .cfi_startproc
 ; CHECK-THUMB-FP-ELIM:   push  {r4, r5, r7, lr}
 ; CHECK-THUMB-FP-ELIM:   .cfi_def_cfa_offset 16
-; CHECK-THUMB-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-THUMB-FP-ELIM:   .cfi_offset r7, -8
-; CHECK-THUMB-FP-ELIM:   .cfi_offset r5, -12
-; CHECK-THUMB-FP-ELIM:   .cfi_offset r4, -16
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 7, -8
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 5, -12
+; CHECK-THUMB-FP-ELIM:   .cfi_offset 4, -16
 ; CHECK-THUMB-FP-ELIM:   pop   {r4, r5, r7, pc}
 ; CHECK-THUMB-FP-ELIM:   .cfi_endproc
 
@@ -487,12 +487,12 @@ entry:
 ; CHECK-THUMB-V7-FP:   .cfi_startproc
 ; CHECK-THUMB-V7-FP:   push   {r4, r5, r7, lr}
 ; CHECK-THUMB-V7-FP:   .cfi_def_cfa_offset 16
-; CHECK-THUMB-V7-FP:   .cfi_offset lr, -4
-; CHECK-THUMB-V7-FP:   .cfi_offset r7, -8
-; CHECK-THUMB-V7-FP:   .cfi_offset r5, -12
-; CHECK-THUMB-V7-FP:   .cfi_offset r4, -16
+; CHECK-THUMB-V7-FP:   .cfi_offset 14, -4
+; CHECK-THUMB-V7-FP:   .cfi_offset 7, -8
+; CHECK-THUMB-V7-FP:   .cfi_offset 5, -12
+; CHECK-THUMB-V7-FP:   .cfi_offset 4, -16
 ; CHECK-THUMB-V7-FP:   add    r7, sp, #8
-; CHECK-THUMB-V7-FP:   .cfi_def_cfa r7, 8
+; CHECK-THUMB-V7-FP:   .cfi_def_cfa 7, 8
 ; CHECK-THUMB-V7-FP:   pop    {r4, r5, r7, pc}
 ; CHECK-THUMB-V7-FP:   .cfi_endproc
 
@@ -500,10 +500,10 @@ entry:
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_startproc
 ; CHECK-THUMB-V7-FP-ELIM:   push.w  {r4, r5, r11, lr}
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_def_cfa_offset 16
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset lr, -4
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset r11, -8
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset r5, -12
-; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset r4, -16
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 14, -4
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 11, -8
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 5, -12
+; CHECK-THUMB-V7-FP-ELIM:   .cfi_offset 4, -16
 ; CHECK-THUMB-V7-FP-ELIM:   pop.w   {r4, r5, r11, pc}
 ; CHECK-THUMB-V7-FP-ELIM:   .cfi_endproc