mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 23:31:37 +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)),
|
||||
(Jal16 tglobaladdr:$dst)>;
|
||||
|
||||
def : Mips16Pat<(MipsJmpLink (i32 texternalsym:$dst)),
|
||||
(Jal16 texternalsym:$dst)>;
|
||||
|
||||
// Indirect branch
|
||||
def: Mips16Pat<
|
||||
(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