mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
Make sure we call externals from libraries properly when -static.
For example, when we are doing mips16 hard float or soft float. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174583 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a170f520a9
commit
24b339dcdc
@ -1094,6 +1094,9 @@ class UncondBranch16_pat<SDNode OpNode, Instruction I>:
|
|||||||
def : Mips16Pat<(MipsJmpLink (i32 tglobaladdr:$dst)),
|
def : Mips16Pat<(MipsJmpLink (i32 tglobaladdr:$dst)),
|
||||||
(Jal16 tglobaladdr:$dst)>;
|
(Jal16 tglobaladdr:$dst)>;
|
||||||
|
|
||||||
|
def : Mips16Pat<(MipsJmpLink (i32 texternalsym:$dst)),
|
||||||
|
(Jal16 texternalsym:$dst)>;
|
||||||
|
|
||||||
// Indirect branch
|
// Indirect branch
|
||||||
def: Mips16Pat<
|
def: Mips16Pat<
|
||||||
(brind CPU16Regs:$rs),
|
(brind CPU16Regs:$rs),
|
||||||
|
13
test/CodeGen/Mips/fp16static.ll
Normal file
13
test/CodeGen/Mips/fp16static.ll
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
; RUN: llc -march=mipsel -mcpu=mips16 -mips16-hard-float -soft-float -relocation-model=static < %s | FileCheck %s -check-prefix=CHECK-STATIC16
|
||||||
|
|
||||||
|
@x = common global float 0.000000e+00, align 4
|
||||||
|
|
||||||
|
define void @foo() nounwind {
|
||||||
|
entry:
|
||||||
|
%0 = load float* @x, align 4
|
||||||
|
%1 = load float* @x, align 4
|
||||||
|
%mul = fmul float %0, %1
|
||||||
|
store float %mul, float* @x, align 4
|
||||||
|
; CHECK-STATIC16: jal __mips16_mulsf3
|
||||||
|
ret void
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user