| ; Test various forms of calls. |
| |
| ; RUN: llvm-as < %s | llc -march=ppc32 | \ |
| ; RUN: grep {bl } | count 2 |
| ; RUN: llvm-as < %s | llc -march=ppc32 | \ |
| ; RUN: grep {bctrl} | count 1 |
| ; RUN: llvm-as < %s | llc -march=ppc32 | \ |
| ; RUN: grep {bla } | count 1 |
| |
| declare void @foo() |
| |
| define void @test_direct() { |
| call void @foo( ) |
| ret void |
| } |
| |
| define void @test_extsym(i8* %P) { |
| free i8* %P |
| ret void |
| } |
| |
| define void @test_indirect(void ()* %fp) { |
| call void %fp( ) |
| ret void |
| } |
| |
| define void @test_abs() { |
| %fp = inttoptr i32 400 to void ()* ; <void ()*> [#uses=1] |
| call void %fp( ) |
| ret void |
| } |
| |