1
0
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2024-12-14 11:32:34 +00:00
llvm-6502/test/CodeGen/XCore/call.ll
Richard Osborne f41c05c7ca [XCore] Fix call of absolute address.
Previously for:

tail call void inttoptr (i64 65536 to void ()*)() nounwind

We would emit:

bl 65536

The immediate operand of the bl instruction is a relative offset so it is
wrong to use the absolute address here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202860 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-04 16:50:30 +00:00

11 lines
232 B
LLVM

; RUN: llc < %s -march=xcore | FileCheck %s
; CHECK-LABEL: bl_imm:
; CHECK: ldw [[R0:r[0-9]+]], cp
; CHECK: bla [[R0]]
define void @bl_imm() nounwind {
entry:
tail call void inttoptr (i64 65536 to void ()*)() nounwind
ret void
}