[mips] Add support for -modd-spreg/-mno-odd-spreg
[oota-llvm.git] / test / MC / Mips / nooddspreg.s
1 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 -mattr=+fp64 | \
2 # RUN:   FileCheck %s -check-prefix=CHECK-ASM
3 #
4 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 -mattr=+fp64 -filetype=obj -o - | \
5 # RUN:   llvm-readobj -sections -section-data -section-relocations - | \
6 # RUN:     FileCheck %s -check-prefix=CHECK-OBJ
7
8 # RUN: not llvm-mc %s -arch=mips -mcpu=mips64 -mattr=-n64,n32 2> %t1
9 # RUN: FileCheck %s -check-prefix=INVALID < %t1
10 #
11 # RUN: not llvm-mc %s -arch=mips -mcpu=mips64 2> %t2
12 # RUN: FileCheck %s -check-prefix=INVALID < %t2
13 #
14 # CHECK-ASM: .module nooddspreg
15
16 # Checking if the Mips.abiflags were correctly emitted.
17 # CHECK-OBJ:  Section {
18 # CHECK-OBJ:    Index: 5
19 # CHECK-OBJ:    Name: .MIPS.abiflags (12)
20 # CHECK-OBJ:    Type:  (0x7000002A)
21 # CHECK-OBJ:     Flags [ (0x2)
22 # CHECK-OBJ:      SHF_ALLOC (0x2)
23 # CHECK-OBJ:    ]
24 # CHECK-OBJ:    Address: 0x0
25 # CHECK-OBJ:    Offset: 0x50
26 # CHECK-OBJ:    Size: 24
27 # CHECK-OBJ:    Link: 0
28 # CHECK-OBJ:    Info: 0
29 # CHECK-OBJ:    AddressAlignment: 8
30 # CHECK-OBJ:    EntrySize: 0
31 # CHECK-OBJ:    Relocations [
32 # CHECK-OBJ:    ]
33 # CHECK-OBJ:    SectionData (
34 # CHECK-OBJ:      0000: 00002001 01020007 00000000 00000000  |.. .............|
35 # CHECK-OBJ:      0010: 00000000 00000000                    |........|
36 # CHECK-OBJ:    )
37 # CHECK-OBJ:  }
38
39 # INVALID: '.module nooddspreg' requires the O32 ABI
40
41         .module nooddspreg
42
43 # FIXME: Test should include gnu_attributes directive when implemented.
44 #        An explicit .gnu_attribute must be checked against the effective
45 #        command line options and any inconsistencies reported via a warning.