mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-29 13:29:28 +00:00
.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
45 lines
728 B
ArmAsm
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: }
|