@ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi -filetype=obj -o - \
@ RUN:   | llvm-readobj -S --sd - | FileCheck %s

@ Check for .setfp directive.

@ The .setfp directive will track the offset between the frame pointer and
@ the stack pointer.  This is required for the function that will change
@ the stack pointer out of the function prologue.  If the exception is thrown,
@ then libunwind will reconstruct the stack pointer from the frame pointer.
@ The reconstruction code is implemented by two different unwind opcode:
@ (i) the unwind opcode to copy stack offset from the other register, and
@ (ii) the unwind opcode to add or subtract the stack offset.
@
@ This file includes several cases separated by different range of -offset
@
@              (-offset) <  0x00
@              (-offset) == 0x00
@     0x04  <= (-offset) <= 0x100
@     0x104 <= (-offset) <= 0x200
@     0x204 <= (-offset)


	.syntax unified

@-------------------------------------------------------------------------------
@ TEST1
@-------------------------------------------------------------------------------
	.section	.TEST1
	.globl	func1
	.align	2
	.type	func1,%function
	.fnstart
func1:
	.setfp	fp, sp, #0
	add	fp, sp, #0
	sub	sp, fp, #0
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

@-------------------------------------------------------------------------------
@ The assembler should emit 0x9B to copy stack pointer from r11.
@-------------------------------------------------------------------------------
@ CHECK: Section {
@ CHECK:   Name: .ARM.extab.TEST1
@ CHECK:   SectionData (
@ CHECK:     0000: 00000000 B0B09B00                    |........|
@ CHECK:   )
@ CHECK: }



@-------------------------------------------------------------------------------
@ TEST2
@-------------------------------------------------------------------------------
	.section	.TEST2
	.globl	func2a
	.align	2
	.type	func2a,%function
	.fnstart
func2a:
	.setfp	fp, sp, #-4
	add	fp, sp, #4
	sub	sp, fp, #4
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

	.globl	func2b
	.align	2
	.type	func2b,%function
	.fnstart
func2b:
	.setfp	fp, sp, #-0x100
	add	fp, sp, #0x100
	sub	sp, fp, #0x100
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

@-------------------------------------------------------------------------------
@ The assembler should emit 0x9B to copy stack pointer from r11.
@ The assembler should emit ((-offset - 4) >> 2) for offset.
@-------------------------------------------------------------------------------
@ CHECK: Section {
@ CHECK:   Name: .ARM.extab.TEST2
@ CHECK:   SectionData (
@ CHECK:     0000: 00000000 B0009B00 00000000 B03F9B00  |.............?..|
@ CHECK:   )
@ CHECK: }



@-------------------------------------------------------------------------------
@ TEST3
@-------------------------------------------------------------------------------
	.section	.TEST3
	.globl	func3a
	.align	2
	.type	func3a,%function
	.fnstart
func3a:
	.setfp	fp, sp, #-0x104
	sub	fp, sp, #0x104
	add	sp, fp, #0x104
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

	.globl	func3b
	.align	2
	.type	func3b,%function
	.fnstart
func3b:
	.setfp	fp, sp, #-0x200
	sub	fp, sp, #0x200
	add	sp, fp, #0x200
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

@-------------------------------------------------------------------------------
@ The assembler should emit 0x9B to copy stack pointer from r11.
@ The assembler should emit 0x3F and ((-offset - 0x104) >> 2) for offset.
@-------------------------------------------------------------------------------
@ CHECK: Section {
@ CHECK:   Name: .ARM.extab.TEST3
@ CHECK:   SectionData (
@ CHECK:     0000: 00000000 3F009B00 00000000 3F3F9B00  |....?.......??..|
@ CHECK:   )
@ CHECK: }



@-------------------------------------------------------------------------------
@ TEST4
@-------------------------------------------------------------------------------
	.section	.TEST4
	.globl	func4a
	.align	2
	.type	func4a,%function
	.fnstart
func4a:
	.setfp	fp, sp, #-0x204
	sub	fp, sp, #0x204
	add	sp, fp, #0x204
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

	.globl	func4b
	.align	2
	.type	func4b,%function
	.fnstart
func4b:
	.setfp	fp, sp, #-0x580
	sub	fp, sp, #0x580
	add	sp, fp, #0x580
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

@-------------------------------------------------------------------------------
@ The assembler should emit 0x9B to copy stack pointer from r11.
@ The assembler should emit 0xB2 and the ULEB128 encoding of
@ ((-offset - 0x204) >> 2) for offset.
@-------------------------------------------------------------------------------
@ CHECK: Section {
@ CHECK:   Name: .ARM.extab.TEST4
@ CHECK:   SectionData (
@ CHECK:     0000: 00000000 00B29B00 00000000 DFB29B01  |................|
@ CHECK:     0010: B0B0B001                             |....|
@ CHECK:   )
@ CHECK: }



@-------------------------------------------------------------------------------
@ TEST5
@-------------------------------------------------------------------------------
	.section	.TEST5
	.globl	func5a
	.align	2
	.type	func5a,%function
	.fnstart
func5a:
	.setfp	fp, sp, #0x4
	add	fp, sp, #0x4
	sub	sp, fp, #0x4
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

	.globl	func5b
	.align	2
	.type	func5b,%function
	.fnstart
func5b:
	.setfp	fp, sp, #0x104
	add	fp, sp, #0x104
	sub	sp, fp, #0x104
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

	.globl	func5c
	.align	2
	.type	func5c,%function
	.fnstart
func5c:
	.setfp	fp, sp, #0x204
	add	fp, sp, #0x204
	sub	sp, fp, #0x204
	bx	lr
	.personality __gxx_personality_v0
	.handlerdata
	.fnend

@-------------------------------------------------------------------------------
@ The assembler should emit 0x9B to copy stack pointer from r11.
@ The assembler should emit (0x40 | (offset - 4)) >> 2 for offset.
@ If (offset - 4) is greater than 0x3f, then multiple 0x7f should be emitted.
@-------------------------------------------------------------------------------
@ CHECK: Section {
@ CHECK:   Name: .ARM.extab.TEST5
@ CHECK:   SectionData (
@ CHECK:     0000: 00000000 B0409B00 00000000 7F409B00  |.....@.......@..|
@ CHECK:     0010: 00000000 7F409B01 B0B0B07F           |.....@......|
@ CHECK:   )
@ CHECK: }
