1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/CodeGen/ARM/unwind-fp.ll
Oliver Stannard 959a756a99 [ARM] Fix unwind information for floating point registers
Fixes the unwind information generated for floating-point registers.
Previously, all padding registers were assumed to be four bytes wide. Now, the
width of the register is used to specify the amount of padding.

Patch by Jackson Woodruff!

Differential revision: https://reviews.llvm.org/D51494

llvm-svn: 342545
2018-09-19 13:25:31 +00:00

16 lines
470 B
LLVM

; RUN: llc < %s -mtriple=armv7a-arm-none-eabi | FileCheck %s
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "armv7-arm-none-eabi"
define void @foo() minsize {
entry:
; CHECK: .vsave {[[SAVE_REG:d[0-9]+]]}
; CHECK-NEXT: .pad #8
; CHECK-NEXT: vpush {[[PAD_REG:d[0-9]+]], [[SAVE_REG]]}
; CHECK: vpop {[[PAD_REG]], [[SAVE_REG]]}
%a = alloca i32, align 4
call void asm sideeffect "", "r,~{d8}"(i32* %a)
ret void
}