1# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -filetype=asm | \
2# RUN:   FileCheck %s -check-prefix=ASMOUT
3
4# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -filetype=obj -o - | \
5# RUN:   llvm-readobj -S --section-data -r | \
6# RUN:     FileCheck %s -check-prefix=OBJOUT
7
8# ASMOUT: .text
9# ASMOUT:        .type _local_foo,@function
10# ASMOUT:        .ent _local_foo
11# ASMOUT:_local_foo:
12# ASMOUT:        .frame $fp,16,$ra
13# ASMOUT:        .mask 0x10101010,-4
14# ASMOUT:        .fmask 0x01010101,-8
15# ASMOUT:        .end _local_foo
16# ASMOUT:        .size local_foo,
17
18# OBJOUT: Section {
19# OBJOUT:     Name: .pdr
20# OBJOUT:     Type: SHT_PROGBITS (0x1)
21# OBJOUT:     Flags [ (0x0)
22# OBJOUT-NOT:   SHF_ALLOC (0x2)
23# OBJOUT-NOT:   SHF_WRITE (0x1)
24# OBJOUT:     ]
25# OBJOUT:     Size: 64
26# OBJOUT:     SectionData (
27# OBJOUT:       0000: 00000000 10101010 FFFFFFFC 01010101
28# OBJOUT:       0010: FFFFFFF8 00000010 0000001E 0000001F
29# OBJOUT:       0020: 00000000 10101010 FFFFFFFC 01010101
30# OBJOUT:       0030: FFFFFFF8 00000010 0000001E 0000001F
31# OBJOUT:     )
32# OBJOUT:   }
33
34# We should also check if relocation information was correctly generated.
35# OBJOUT:      Relocations [
36# OBJOUT-NEXT:   Section ({{.*}}) .rel.pdr {
37# OBJOUT-NEXT:     0x0 R_MIPS_32 .text 0x0
38# OBJOUT-NEXT:     0x20 R_MIPS_32 _global_foo 0x0
39# OBJOUT-NEXT:   }
40# OBJOUT-NEXT: ]
41
42.text
43        .type _local_foo,@function
44        .ent _local_foo
45_local_foo:
46        .frame $fp,16,$ra
47        .mask 0x10101010,-4
48        .fmask 0x01010101,-8
49        .end _local_foo
50        .size local_foo,.-_local_foo
51
52        .globl _global_foo
53        .type _global_foo,@function
54        .ent _global_foo
55_global_foo:
56        .frame $fp,16,$ra
57        .mask 0x10101010,-4
58        .fmask 0x01010101,-8
59        .end _global_foo
60        .size global_foo,.-_global_foo
61