mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-30 23:33:57 +00:00
add blx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31037 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
70673a1a90
commit
71d94d8817
@ -149,6 +149,7 @@ let isReturn = 1 in {
|
||||
|
||||
let noResults = 1, Defs = [R0, R1, R2, R3, R14] in {
|
||||
def bl: InstARM<(ops i32imm:$func, variable_ops), "bl $func", []>;
|
||||
def blx : InstARM<(ops IntRegs:$func, variable_ops), "blx $func", [(ARMcall IntRegs:$func)]>;
|
||||
}
|
||||
|
||||
def ldr : InstARM<(ops IntRegs:$dst, memri:$addr),
|
||||
|
@ -1,4 +1,7 @@
|
||||
; RUN: llvm-as < %s | llc -march=arm
|
||||
; RUN: llvm-as < %s | llc -march=arm &&
|
||||
; RUN: llvm-as < %s | llc -march=arm | grep bl &&
|
||||
; RUN: llvm-as < %s | llc -march=arm | grep blx
|
||||
|
||||
void %f() {
|
||||
entry:
|
||||
call void %g( int 1, int 2, int 3, int 4 )
|
||||
@ -8,3 +11,10 @@ entry:
|
||||
|
||||
declare void %g(int, int, int, int)
|
||||
declare fastcc void %h()
|
||||
|
||||
void %g(void (...)* %g) {
|
||||
entry:
|
||||
%g_c = cast void (...)* %g to void ()*
|
||||
call void %g_c( )
|
||||
ret void
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user