mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-29 23:12:55 +01:00
5607900620
This is so that EF_MIPS_NAN2008 is set if we are using IEEE 754-2008 NaN encoding (-mnan=2008). This patch also adds support for parsing '.nan legacy' and '.nan 2008' assembly directives. The handling of these directives should match GAS' behaviour i.e., the last directive in use sets the ELF header bit (EF_MIPS_NAN2008). Differential Revision: http://reviews.llvm.org/D3346 llvm-svn: 206396
92 lines
3.9 KiB
LLVM
92 lines
3.9 KiB
LLVM
; Check the emission of directives at the start of an asm file.
|
|
; This test is XFAILED until we fix the emission of '.option pic0' on
|
|
; N32. At the moment we check if subtarget is Mips64 when we should be
|
|
; checking the Subtarget's ABI.
|
|
|
|
; ### O32 ABI ###
|
|
; RUN: llc -filetype=asm -mtriple mips-unknown-linux -mcpu=mips32 \
|
|
; RUN: -relocation-model=static %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-STATIC-O32 -check-prefix=CHECK-STATIC-O32-NLEGACY %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips-unknown-linux -mcpu=mips32 \
|
|
; RUN: -relocation-model=pic %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-PIC-O32 -check-prefix=CHECK-PIC-O32-NLEGACY %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips-unknown-linux -mcpu=mips32 \
|
|
; RUN: -relocation-model=static -mattr=+nan2008 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-STATIC-O32 -check-prefix=CHECK-STATIC-O32-N2008 %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips-unknown-linux -mcpu=mips32 \
|
|
; RUN: -relocation-model=pic -mattr=+nan2008 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-PIC-O32 -check-prefix=CHECK-PIC-O32-N2008 %s
|
|
|
|
; ### N32 ABI ###
|
|
; RUN: llc -filetype=asm -mtriple mips64-unknown-linux -mcpu=mips64 \
|
|
; RUN: -relocation-model=static -mattr=-n64,+n32 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-STATIC-N32 -check-prefix=CHECK-STATIC-N32-NLEGACY %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips64-unknown-linux -mcpu=mips64 \
|
|
; RUN: -relocation-model=pic -mattr=-n64,+n32 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-PIC-N32 -check-prefix=CHECK-PIC-N32-NLEGACY %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips64-unknown-linux -mcpu=mips64 \
|
|
; RUN: -relocation-model=static -mattr=-n64,+n32,+nan2008 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-STATIC-N32 -check-prefix=CHECK-STATIC-N32-N2008 %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips64-unknown-linux -mcpu=mips64 \
|
|
; RUN: -relocation-model=pic -mattr=-n64,+n32,+nan2008 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-PIC-N32 -check-prefix=CHECK-PIC-N32-N2008 %s
|
|
|
|
; ### N64 ABI ###
|
|
; RUN: llc -filetype=asm -mtriple mips64-unknown-linux -mcpu=mips64 \
|
|
; RUN: -relocation-model=static -mattr=+n64 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-STATIC-N64 -check-prefix=CHECK-STATIC-N64-NLEGACY %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips64-unknown-linux -mcpu=mips64 \
|
|
; RUN: -relocation-model=pic -mattr=+n64 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-PIC-N64 -check-prefix=CHECK-PIC-N64-NLEGACY %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips64-unknown-linux -mcpu=mips64 \
|
|
; RUN: -relocation-model=static -mattr=+n64,+nan2008 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-STATIC-N64 -check-prefix=CHECK-STATIC-N64-N2008 %s
|
|
|
|
; RUN: llc -filetype=asm -mtriple mips64-unknown-linux -mcpu=mips64 \
|
|
; RUN: -relocation-model=pic -mattr=+n64,+nan2008 %s -o - | \
|
|
; RUN: FileCheck -check-prefix=CHECK-PIC-N64 -check-prefix=CHECK-PIC-N64-N2008 %s
|
|
|
|
; CHECK-STATIC-O32: .abicalls
|
|
; CHECK-STATIC-O32: .option pic0
|
|
; CHECK-STATIC-O32: .section .mdebug.abi32
|
|
; CHECK-STATIC-O32-NLEGACY: .nan legacy
|
|
; CHECK-STATIC-O32-N2008: .nan 2008
|
|
|
|
; CHECK-PIC-O32: .abicalls
|
|
; CHECK-PIC-O32-NOT: .option pic0
|
|
; CHECK-PIC-O32: .section .mdebug.abi32
|
|
; CHECK-PIC-O32-NLEGACY: .nan legacy
|
|
; CHECK-PIC-O32-N2008: .nan 2008
|
|
|
|
; CHECK-STATIC-N32: .abicalls
|
|
; CHECK-STATIC-N32: .option pic0
|
|
; CHECK-STATIC-N32: .section .mdebug.abiN32
|
|
; CHECK-STATIC-N32-NLEGACY: .nan legacy
|
|
; CHECK-STATIC-N32-N2008: .nan 2008
|
|
|
|
; CHECK-PIC-N32: .abicalls
|
|
; CHECK-PIC-N32-NOT: .option pic0
|
|
; CHECK-PIC-N32: .section .mdebug.abiN32
|
|
; CHECK-PIC-N32-NLEGACY: .nan legacy
|
|
; CHECK-PIC-N32-N2008: .nan 2008
|
|
|
|
; CHECK-STATIC-N64: .abicalls
|
|
; CHECK-STATIC-N64-NOT: .option pic0
|
|
; CHECK-STATIC-N64: .section .mdebug.abi64
|
|
; CHECK-STATIC-N64-NLEGACY: .nan legacy
|
|
; CHECK-STATIC-N64-N2008: .nan 2008
|
|
|
|
; CHECK-PIC-N64: .abicalls
|
|
; CHECK-PIC-N64-NOT: .option pic0
|
|
; CHECK-PIC-N64: .section .mdebug.abi64
|
|
; CHECK-PIC-N64-NLEGACY: .nan legacy
|
|
; CHECK-PIC-N64-N2008: .nan 2008
|