Chris Lattner | 413100f | 2006-05-17 03:57:31 +0000 | [diff] [blame] | 1 | ; Test various forms of calls. |
2 | |||||
Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 3 | ; RUN: llc < %s -march=ppc32 | \ |
Chandler Carruth | 4177e6f | 2012-07-02 12:47:22 +0000 | [diff] [blame] | 4 | ; RUN: grep "bl " | count 1 |
Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 5 | ; RUN: llc < %s -march=ppc32 | \ |
Chandler Carruth | 4177e6f | 2012-07-02 12:47:22 +0000 | [diff] [blame] | 6 | ; RUN: grep "bctrl" | count 1 |
Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 7 | ; RUN: llc < %s -march=ppc32 | \ |
Chandler Carruth | 4177e6f | 2012-07-02 12:47:22 +0000 | [diff] [blame] | 8 | ; RUN: grep "bla " | count 1 |
Chris Lattner | 413100f | 2006-05-17 03:57:31 +0000 | [diff] [blame] | 9 | |
Tanya Lattner | 6f729d6 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 10 | declare void @foo() |
Chris Lattner | 413100f | 2006-05-17 03:57:31 +0000 | [diff] [blame] | 11 | |
Tanya Lattner | 6f729d6 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 12 | define void @test_direct() { |
13 | call void @foo( ) | ||||
14 | ret void | ||||
Chris Lattner | 413100f | 2006-05-17 03:57:31 +0000 | [diff] [blame] | 15 | } |
16 | |||||
Tanya Lattner | 6f729d6 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 17 | define void @test_indirect(void ()* %fp) { |
18 | call void %fp( ) | ||||
19 | ret void | ||||
Chris Lattner | 413100f | 2006-05-17 03:57:31 +0000 | [diff] [blame] | 20 | } |
21 | |||||
Tanya Lattner | 6f729d6 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 22 | define void @test_abs() { |
23 | %fp = inttoptr i32 400 to void ()* ; <void ()*> [#uses=1] | ||||
24 | call void %fp( ) | ||||
25 | ret void | ||||
Chris Lattner | 413100f | 2006-05-17 03:57:31 +0000 | [diff] [blame] | 26 | } |
Tanya Lattner | 6f729d6 | 2008-03-25 04:26:08 +0000 | [diff] [blame] | 27 |