brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · f4f09f7 Raw
131 lines · plain
1@ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi -filetype=obj -o - \2@ RUN:   | llvm-readobj -S --sd --sr - | FileCheck %s3 4@ Check the .vsave directive5 6@ The .vsave directive records the VFP registers which are pushed to the7@ stack.  There are two different opcodes:8@9@     0xC800: pop d[(16+x+y):(16+x)]    @ d[16+x+y]-d[16+x] must be consecutive10@     0xC900: pop d[(x+y):x]            @ d[x+y]-d[x] must be consecutive11 12 13	.syntax unified14 15@-------------------------------------------------------------------------------16@ TEST117@-------------------------------------------------------------------------------18	.section	.TEST119	.globl	func1a20	.align	221	.type	func1a,%function22	.fnstart23func1a:24	.vsave	{d0}25	vpush	{d0}26	vpop	{d0}27	bx	lr28	.personality __gxx_personality_v029	.handlerdata30	.fnend31 32	.globl	func1b33	.align	234	.type	func1b,%function35	.fnstart36func1b:37	.vsave	{d0, d1, d2, d3}38	vpush	{d0, d1, d2, d3}39	vpop	{d0, d1, d2, d3}40	bx	lr41	.personality __gxx_personality_v042	.handlerdata43	.fnend44 45	.globl	func1c46	.align	247	.type	func1c,%function48	.fnstart49func1c:50	.vsave	{d0, d1, d2, d3, d4, d5, d6, d7}51	vpush	{d0, d1, d2, d3, d4, d5, d6, d7}52	vpop	{d0, d1, d2, d3, d4, d5, d6, d7}53	bx	lr54	.personality __gxx_personality_v055	.handlerdata56	.fnend57 58	.globl	func1d59	.align	260	.type	func1d,%function61	.fnstart62func1d:63	.vsave	{d2, d3, d4, d5, d6, d7}64	vpush	{d2, d3, d4, d5, d6, d7}65	vpop	{d2, d3, d4, d5, d6, d7}66	bx	lr67	.personality __gxx_personality_v068	.handlerdata69	.fnend70 71@ CHECK: Section {72@ CHECK:   Name: .ARM.extab.TEST173@ CHECK:   SectionData (74@ CHECK:     0000: 00000000 B000C900 00000000 B003C900  |................|75@ CHECK:     0010: 00000000 B007C900 00000000 B025C900  |.............%..|76@ CHECK:   )77@ CHECK: }78 79 80 81@-------------------------------------------------------------------------------82@ TEST283@-------------------------------------------------------------------------------84	.section	.TEST285	.globl	func2a86	.align	287	.type	func2a,%function88	.fnstart89func2a:90	.vsave	{d16}91	vpush	{d16}92	vpop	{d16}93	bx	lr94	.personality __gxx_personality_v095	.handlerdata96	.fnend97 98	.globl	func2b99	.align	2100	.type	func2b,%function101	.fnstart102func2b:103	.vsave	{d16, d17, d18, d19}104	vpush	{d16, d17, d18, d19}105	vpop	{d16, d17, d18, d19}106	bx	lr107	.personality __gxx_personality_v0108	.handlerdata109	.fnend110 111	.globl	func2c112	.align	2113	.type	func2c,%function114	.fnstart115func2c:116	.vsave	{d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31}117	vpush	{d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31}118	vpop	{d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31}119	bx	lr120	.personality __gxx_personality_v0121	.handlerdata122	.fnend123 124@ CHECK: Section {125@ CHECK:   Name: .ARM.extab.TEST2126@ CHECK:   SectionData (127@ CHECK:     0000: 00000000 B000C800 00000000 B003C800  |................|128@ CHECK:     0010: 00000000 B00FC800                    |........|129@ CHECK:   )130@ CHECK: }131