llvm/test/MC/ARM/eh-directive-movsp.s
Saleem Abdulrasool 7a38b33dec ARM IAS: support .movsp
.movsp is an ARM unwinding directive that indicates to the unwinder that a
register contains an offset from the current stack pointer.  If the offset is
unspecified, it defaults to zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200449 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-30 04:46:24 +00:00

45 lines
728 B
ArmAsm

@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -s -sd \
@ RUN: | FileCheck %s
.syntax unified
.thumb
.section .duplicate
.global duplicate
.type duplicate,%function
duplicate:
.fnstart
.setfp sp, sp, #8
add sp, sp, #8
.movsp r11
mov r11, sp
.fnend
@ CHECK: Section {
@ CHECK: Name: .ARM.exidx.duplicate
@ CHECK: SectionData (
@ CHECK: 0000: 00000000 B09B9B80
@ CHECK: )
@ CHECK: }
.section .squash
.global squash
.type squash,%function
squash:
.fnstart
.movsp ip
mov ip, sp
.save {fp, ip, lr}
stmfd sp!, {fp, ip, lr}
.fnend
@ CHECK: Section {
@ CHECK: Name: .ARM.exidx.squash
@ CHECK: SectionData (
@ CHECK: 0000: 00000000 9C808580
@ CHECK: )
@ CHECK: }