mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 13:11:39 +01:00
04fad6dc3c
Summary: The MIPS IAS can now pass 'ninja check-all', recurse, build a bootable linux kernel, and pass a variety of LNT testing. Unfortunately we can't enable it by default for 64-bit targets yet since the N32 ABI is still very buggy and this also means we can't enable it for N64 either because we can't distinguish between N32 and N64 in the relevant code. Reviewers: vkalintiris Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18759 Differential Revision: http://reviews.llvm.org/D18761 llvm-svn: 269560
31 lines
1.0 KiB
LLVM
31 lines
1.0 KiB
LLVM
; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 \
|
|
; RUN: -relocation-model=pic -no-integrated-as < %s | \
|
|
; RUN: FileCheck %s -check-prefix=ALL -check-prefix=GAS
|
|
|
|
; The integrated assembler expands assembly macros before printing.
|
|
; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 \
|
|
; RUN: -relocation-model=pic < %s | \
|
|
; RUN: FileCheck %s -check-prefix=ALL -check-prefix=IAS
|
|
|
|
@x = external global float
|
|
|
|
; Function Attrs: nounwind
|
|
define void @v_sf(float %p) #0 {
|
|
entry:
|
|
%p.addr = alloca float, align 4
|
|
store float %p, float* %p.addr, align 4
|
|
%0 = load float, float* %p.addr, align 4
|
|
store float %0, float* @x, align 4
|
|
ret void
|
|
}
|
|
; ALL-LABEL: .ent __fn_stub_v_sf
|
|
; ALL: .cpload $25
|
|
; ALL: .set reorder
|
|
; ALL: .reloc 0, R_MIPS_NONE, v_sf
|
|
; GAS: la $25, $__fn_local_v_sf
|
|
; IAS: lui $25, %hi($$__fn_local_v_sf)
|
|
; IAS: addiu $25, $25, %lo($$__fn_local_v_sf)
|
|
; ALL: mfc1 $4, $f12
|
|
; ALL: jr $25
|
|
; ALL: .end __fn_stub_v_sf
|