Compiler projects using llvm
@ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s | FileCheck %s

	.syntax unified

	.data

	.type .L_table_begin,%object
.L_table_begin:
	.rep 2
	.long 0xd15ab1ed
	.long 0x0ff1c1a1
	.endr
.L_table_end:

	.text

	.type return,%function
return:
	bx lr

	.global arm_function
	.type arm_function,%function
arm_function:
	mov r0, #:lower16:((.L_table_end - .L_table_begin) >> 2)
	blx return

@ CHECK-LABEL: arm_function
@ CHECK:  	movw r0, :lower16:((.L_table_end-.L_table_begin)>>2)
@ CHECK:  	blx return

	.global thumb_function
	.type thumb_function,%function
thumb_function:
	mov r0, #:lower16:((.L_table_end - .L_table_begin) >> 2)
	blx return

@ CHECK-LABEL: thumb_function
@ CHECK:  	movw r0, :lower16:((.L_table_end-.L_table_begin)>>2)
@ CHECK:  	blx return