forked from OSchip/llvm-project
Make sure we call externals from libraries properly when -static.
For example, when we are doing mips16 hard float or soft float. llvm-svn: 174583
This commit is contained in:
parent
3b96424c43
commit
4a230ffa96
|
@ -1094,6 +1094,9 @@ class UncondBranch16_pat<SDNode OpNode, Instruction I>:
|
|||
def : Mips16Pat<(MipsJmpLink (i32 tglobaladdr:$dst)),
|
||||
(Jal16 tglobaladdr:$dst)>;
|
||||
|
||||
def : Mips16Pat<(MipsJmpLink (i32 texternalsym:$dst)),
|
||||
(Jal16 texternalsym:$dst)>;
|
||||
|
||||
// Indirect branch
|
||||
def: Mips16Pat<
|
||||
(brind CPU16Regs:$rs),
|
||||
|
|
|
@ -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…
Reference in New Issue