1c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: llvm-mc %s -arch=mips -mcpu=mips32 -mattr=+fp64 | \ 2c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-ASM 3c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# 4c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: llvm-mc %s -arch=mips -mcpu=mips32 -mattr=+fp64 -filetype=obj -o - | \ 5c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: llvm-readobj -sections -section-data -section-relocations - | \ 6c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-OBJ-ALL -check-prefix=CHECK-OBJ-O32 7c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# 8ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n32 | \ 9c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-ASM 10c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# 11ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n32 -filetype=obj -o - | \ 12c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: llvm-readobj -sections -section-data -section-relocations - | \ 13c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-OBJ-ALL -check-prefix=CHECK-OBJ-N32 14c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines 15c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64 | \ 16c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-ASM 17c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# 1837ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# Repeat the -filetype=obj tests but this time use an empty assembly file. The 1937ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# output should be unchanged. 2037ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: llvm-mc /dev/null -arch=mips64 -mcpu=mips64 -filetype=obj -o - | \ 2137ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: llvm-readobj -sections -section-data -section-relocations - | \ 2237ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-OBJ-ALL -check-prefix=CHECK-OBJ-N64 2337ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines 2437ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: llvm-mc /dev/null -arch=mips -mcpu=mips32 -mattr=+fp64 -filetype=obj -o - | \ 2537ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: llvm-readobj -sections -section-data -section-relocations - | \ 2637ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-OBJ-ALL -check-prefix=CHECK-OBJ-O32 2737ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# 28ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# RUN: llvm-mc /dev/null -arch=mips64 -mcpu=mips64 -target-abi n32 -filetype=obj -o - | \ 2937ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: llvm-readobj -sections -section-data -section-relocations - | \ 3037ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-OBJ-ALL -check-prefix=CHECK-OBJ-N32 3137ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines 3237ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# RUN: llvm-mc /dev/null -arch=mips64 -mcpu=mips64 -filetype=obj -o - | \ 33c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: llvm-readobj -sections -section-data -section-relocations - | \ 34c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# RUN: FileCheck %s -check-prefix=CHECK-OBJ-ALL -check-prefix=CHECK-OBJ-N64 35c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines 36c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# CHECK-ASM: .module oddspreg 37c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines 38c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# Checking if the Mips.abiflags were correctly emitted. 3937ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Section { 4037ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Index: 5 4137ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL-LABEL: Name: .MIPS.abiflags ({{[0-9]+}}) 4237ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Type: SHT_MIPS_ABIFLAGS (0x7000002A) 4337ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Flags [ (0x2) 4437ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: SHF_ALLOC (0x2) 4537ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: ] 4637ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Address: 0x0 4737ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Size: 24 4837ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Link: 0 4937ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Info: 0 5037ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: AddressAlignment: 8 5137ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: EntrySize: 24 5237ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: Relocations [ 5337ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: ] 5437ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: SectionData ( 5537ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-O32: 0000: 00002001 01020006 00000000 00000000 |.. .............| 5637ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-O32: 0010: 00000001 00000000 |........| 5737ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-N32: 0000: 00004001 02020001 00000000 00000000 |..@.............| 5837ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-N32: 0010: 00000001 00000000 |........| 5937ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-N64: 0000: 00004001 02020001 00000000 00000000 |..@.............| 6037ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-N64: 0010: 00000001 00000000 |........| 6137ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL: ) 6237ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines# CHECK-OBJ-ALL-LABEL: } 63c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines 64c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines .module oddspreg 65c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines add.s $f3, $f1, $f5 66c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines 67c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# FIXME: Test should include gnu_attributes directive when implemented. 68c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# An explicit .gnu_attribute must be checked against the effective 69c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines# command line options and any inconsistencies reported via a warning. 70