1# RUN: yaml2obj %s > %t
2# RUN: llvm-readobj -mips-abi-flags %t | FileCheck -check-prefix=OBJ %s
3# RUN: obj2yaml %t | FileCheck -check-prefix=YAML %s
4
5# OBJ:      MIPS ABI Flags {
6# OBJ-NEXT:   Version: 0
7# OBJ-NEXT:   ISA: MIPS64r5
8# OBJ-NEXT:   ISA Extension: Cavium Networks Octeon3 (0x13)
9# OBJ-NEXT:   ASEs [ (0x103)
10# OBJ-NEXT:     DSP (0x1)
11# OBJ-NEXT:     DSPR2 (0x2)
12# OBJ-NEXT:     VZ (0x100)
13# OBJ-NEXT:   ]
14# OBJ-NEXT:   FP ABI: Hard float (double precision) (0x1)
15# OBJ-NEXT:   GPR size: 64
16# OBJ-NEXT:   CPR1 size: 64
17# OBJ-NEXT:   CPR2 size: 0
18# OBJ-NEXT:   Flags 1 [ (0x1)
19# OBJ-NEXT:     ODDSPREG (0x1)
20# OBJ-NEXT:   ]
21# OBJ-NEXT:   Flags 2: 0x0
22# OBJ-NEXT: }
23
24# YAML:      Sections:
25# YAML-NEXT: - Name:            .MIPS.abiflags
26# YAML-NEXT:   Type:            SHT_MIPS_ABIFLAGS
27# YAML-NEXT:   AddressAlign:    0x0000000000000008
28# YAML-NEXT:   ISA:             MIPS64
29# YAML-NEXT:   ISARevision:     0x05
30# YAML-NEXT:   ISAExtension:    EXT_OCTEON3
31# YAML-NEXT:   ASEs:            [ DSP, DSPR2, VIRT ]
32# YAML-NEXT:   FpABI:           FP_DOUBLE
33# YAML-NEXT:   GPRSize:         REG_64
34# YAML-NEXT:   CPR1Size:        REG_64
35# YAML-NEXT:   Flags1:          [ ODDSPREG ]
36
37!ELF
38FileHeader:
39  Class:   ELFCLASS64
40  Data:    ELFDATA2MSB
41  Type:    ET_REL
42  Machine: EM_MIPS
43
44Sections:
45- Name: .MIPS.abiflags
46  Type: SHT_MIPS_ABIFLAGS
47  AddressAlign: 8
48  Version:      0
49  ISA:          MIPS64
50  ISARevision:  5
51  ISAExtension: EXT_OCTEON3
52  ASEs:         [ DSP, DSPR2, VIRT ]
53  FpABI:        FP_DOUBLE
54  GPRSize:      REG_64
55  CPR1Size:     REG_64
56  CPR2Size:     REG_NONE
57  Flags1:       [ ODDSPREG ]
58  Flags2:       0x0
59
60Symbols:
61  Local:
62    - Name:    .MIPS.abiflags
63      Type:    STT_SECTION
64      Section: .MIPS.abiflags
65