|
|
|
|
@@ -12,6 +12,7 @@
|
|
|
|
|
; (6) thumb without -disable-fp-elim
|
|
|
|
|
; (7) thumbv7 with -disable-fp-elim
|
|
|
|
|
; (8) thumbv7 without -disable-fp-elim
|
|
|
|
|
; (9) thumbv7 with -no-integrated-as
|
|
|
|
|
|
|
|
|
|
; RUN: llc -mtriple arm-unknown-linux-gnueabi \
|
|
|
|
|
; RUN: -disable-fp-elim -filetype=asm -o - %s \
|
|
|
|
|
@@ -45,6 +46,10 @@
|
|
|
|
|
; RUN: -filetype=asm -o - %s \
|
|
|
|
|
; RUN: | FileCheck %s --check-prefix=CHECK-THUMB-V7-FP-ELIM
|
|
|
|
|
|
|
|
|
|
; RUN: llc -mtriple thumbv7-unknown-linux-gnueabi \
|
|
|
|
|
; RUN: -disable-fp-elim -no-integrated-as -filetype=asm -o - %s \
|
|
|
|
|
; RUN: | FileCheck %s --check-prefix=CHECK-THUMB-V7-FP-NOIAS
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
; Test 1
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
@@ -163,17 +168,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 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: .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: add r11, sp, #28
|
|
|
|
|
; CHECK-FP: .cfi_def_cfa 11, 8
|
|
|
|
|
; CHECK-FP: .cfi_def_cfa r11, 8
|
|
|
|
|
; CHECK-FP: sub sp, sp, #28
|
|
|
|
|
; CHECK-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -181,15 +186,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 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: .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: sub sp, sp, #28
|
|
|
|
|
; CHECK-FP-ELIM: .cfi_def_cfa_offset 64
|
|
|
|
|
; CHECK-FP-ELIM: .cfi_endproc
|
|
|
|
|
@@ -198,17 +203,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 14, -4
|
|
|
|
|
; CHECK-V7-FP: .cfi_offset 11, -8
|
|
|
|
|
; CHECK-V7-FP: .cfi_offset 4, -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: add r11, sp, #4
|
|
|
|
|
; CHECK-V7-FP: .cfi_def_cfa 11, 8
|
|
|
|
|
; CHECK-V7-FP: .cfi_def_cfa r11, 8
|
|
|
|
|
; CHECK-V7-FP: vpush {d8, d9, d10, d11, d12}
|
|
|
|
|
; 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: .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: sub sp, sp, #28
|
|
|
|
|
; CHECK-V7-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -216,15 +221,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 14, -4
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_offset 4, -8
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_offset r4, -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 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: .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: sub sp, sp, #24
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 72
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_endproc
|
|
|
|
|
@@ -233,13 +238,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 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: .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: add r7, sp, #12
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_def_cfa 7, 8
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_def_cfa r7, 8
|
|
|
|
|
; CHECK-THUMB-FP: sub sp, #60
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -247,11 +252,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 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: .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: sub sp, #60
|
|
|
|
|
; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 80
|
|
|
|
|
; CHECK-THUMB-FP-ELIM: .cfi_endproc
|
|
|
|
|
@@ -260,18 +265,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 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: .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: add r7, sp, #4
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 12
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 12
|
|
|
|
|
; CHECK-THUMB-V7-FP: vpush {d8, d9, d10, d11, d12}
|
|
|
|
|
; 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: .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: sub sp, #24
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -279,19 +284,37 @@ 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 14, -4
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -8
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -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 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: .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: sub sp, #24
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 72
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS-LABEL: _Z4testiiiiiddddd:
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_startproc
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: push.w {r4, r7, r11, lr}
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_def_cfa_offset 16
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 14, -4
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 11, -8
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 7, -12
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 4, -16
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: add r7, sp, #4
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_def_cfa 7, 12
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: vpush {d8, d9, d10, d11, d12}
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 268, -24
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 267, -32
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 266, -40
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 265, -48
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_offset 264, -56
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: sub sp, #24
|
|
|
|
|
; CHECK-THUMB-V7-FP-NOIAS: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
; Test 2
|
|
|
|
|
@@ -309,10 +332,10 @@ entry:
|
|
|
|
|
; CHECK-FP: .cfi_startproc
|
|
|
|
|
; CHECK-FP: push {r11, lr}
|
|
|
|
|
; CHECK-FP: .cfi_def_cfa_offset 8
|
|
|
|
|
; CHECK-FP: .cfi_offset 14, -4
|
|
|
|
|
; CHECK-FP: .cfi_offset 11, -8
|
|
|
|
|
; CHECK-FP: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-FP: .cfi_offset r11, -8
|
|
|
|
|
; CHECK-FP: mov r11, sp
|
|
|
|
|
; CHECK-FP: .cfi_def_cfa_register 11
|
|
|
|
|
; CHECK-FP: .cfi_def_cfa_register r11
|
|
|
|
|
; CHECK-FP: pop {r11, lr}
|
|
|
|
|
; CHECK-FP: mov pc, lr
|
|
|
|
|
; CHECK-FP: .cfi_endproc
|
|
|
|
|
@@ -321,8 +344,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 14, -4
|
|
|
|
|
; CHECK-FP-ELIM: .cfi_offset 11, -8
|
|
|
|
|
; CHECK-FP-ELIM: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-FP-ELIM: .cfi_offset r11, -8
|
|
|
|
|
; CHECK-FP-ELIM: pop {r11, lr}
|
|
|
|
|
; CHECK-FP-ELIM: mov pc, lr
|
|
|
|
|
; CHECK-FP-ELIM: .cfi_endproc
|
|
|
|
|
@@ -331,10 +354,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 14, -4
|
|
|
|
|
; CHECK-V7-FP: .cfi_offset 11, -8
|
|
|
|
|
; CHECK-V7-FP: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-V7-FP: .cfi_offset r11, -8
|
|
|
|
|
; CHECK-V7-FP: mov r11, sp
|
|
|
|
|
; CHECK-V7-FP: .cfi_def_cfa_register 11
|
|
|
|
|
; CHECK-V7-FP: .cfi_def_cfa_register r11
|
|
|
|
|
; CHECK-V7-FP: pop {r11, pc}
|
|
|
|
|
; CHECK-V7-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -342,8 +365,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 14, -4
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_offset 11, -8
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_offset r11, -8
|
|
|
|
|
; CHECK-V7-FP-ELIM: pop {r11, pc}
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -351,10 +374,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 14, -4
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_offset 7, -8
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_offset r7, -8
|
|
|
|
|
; CHECK-THUMB-FP: add r7, sp, #0
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_def_cfa_register 7
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_def_cfa_register r7
|
|
|
|
|
; CHECK-THUMB-FP: pop {r7, pc}
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -362,8 +385,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 14, -4
|
|
|
|
|
; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8
|
|
|
|
|
; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8
|
|
|
|
|
; CHECK-THUMB-FP-ELIM: pop {r7, pc}
|
|
|
|
|
; CHECK-THUMB-FP-ELIM: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -371,10 +394,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 14, -4
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_offset 7, -8
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_offset r7, -8
|
|
|
|
|
; CHECK-THUMB-V7-FP: mov r7, sp
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_def_cfa_register 7
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_def_cfa_register r7
|
|
|
|
|
; CHECK-THUMB-V7-FP: pop {r7, pc}
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -382,8 +405,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 14, -4
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: pop.w {r11, pc}
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -413,12 +436,12 @@ entry:
|
|
|
|
|
; CHECK-FP: .cfi_startproc
|
|
|
|
|
; CHECK-FP: push {r4, r5, r11, lr}
|
|
|
|
|
; CHECK-FP: .cfi_def_cfa_offset 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: .cfi_offset lr, -4
|
|
|
|
|
; CHECK-FP: .cfi_offset r11, -8
|
|
|
|
|
; CHECK-FP: .cfi_offset r5, -12
|
|
|
|
|
; CHECK-FP: .cfi_offset r4, -16
|
|
|
|
|
; CHECK-FP: add r11, sp, #8
|
|
|
|
|
; CHECK-FP: .cfi_def_cfa 11, 8
|
|
|
|
|
; CHECK-FP: .cfi_def_cfa r11, 8
|
|
|
|
|
; CHECK-FP: pop {r4, r5, r11, lr}
|
|
|
|
|
; CHECK-FP: mov pc, lr
|
|
|
|
|
; CHECK-FP: .cfi_endproc
|
|
|
|
|
@@ -427,10 +450,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 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: .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: pop {r4, r5, r11, lr}
|
|
|
|
|
; CHECK-FP-ELIM: mov pc, lr
|
|
|
|
|
; CHECK-FP-ELIM: .cfi_endproc
|
|
|
|
|
@@ -439,12 +462,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 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: .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: add r11, sp, #8
|
|
|
|
|
; CHECK-V7-FP: .cfi_def_cfa 11, 8
|
|
|
|
|
; CHECK-V7-FP: .cfi_def_cfa r11, 8
|
|
|
|
|
; CHECK-V7-FP: pop {r4, r5, r11, pc}
|
|
|
|
|
; CHECK-V7-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -452,10 +475,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 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: .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: pop {r4, r5, r11, pc}
|
|
|
|
|
; CHECK-V7-FP-ELIM: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -463,12 +486,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 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: .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: add r7, sp, #8
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_def_cfa 7, 8
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_def_cfa r7, 8
|
|
|
|
|
; CHECK-THUMB-FP: pop {r4, r5, r7, pc}
|
|
|
|
|
; CHECK-THUMB-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -476,10 +499,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 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: .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: pop {r4, r5, r7, pc}
|
|
|
|
|
; CHECK-THUMB-FP-ELIM: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -487,12 +510,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 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: .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: add r7, sp, #8
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 8
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 8
|
|
|
|
|
; CHECK-THUMB-V7-FP: pop {r4, r5, r7, pc}
|
|
|
|
|
; CHECK-THUMB-V7-FP: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
@@ -500,10 +523,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 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: .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: pop.w {r4, r5, r11, pc}
|
|
|
|
|
; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc
|
|
|
|
|
|
|
|
|
|
|