Jim Laskey | 8e08380 | 2005-08-18 19:38:57 +0000 | [diff] [blame] | 1 | ; All of these routines should be perform optimal load of constants. |
Reid Spencer | c58ef01 | 2007-04-15 21:17:45 +0000 | [diff] [blame] | 2 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | \ |
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 3 | ; RUN: grep lis | count 5 |
Reid Spencer | c58ef01 | 2007-04-15 21:17:45 +0000 | [diff] [blame] | 4 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | \ |
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 5 | ; RUN: grep ori | count 3 |
Reid Spencer | c58ef01 | 2007-04-15 21:17:45 +0000 | [diff] [blame] | 6 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | \ |
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 7 | ; RUN: grep {li } | count 4 |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 8 | |
9 | implementation ; Functions: | ||||
10 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 11 | int %f1() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 12 | entry: |
13 | ret int 1 | ||||
14 | } | ||||
15 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 16 | int %f2() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 17 | entry: |
18 | ret int -1 | ||||
19 | } | ||||
20 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 21 | int %f3() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 22 | entry: |
23 | ret int 0 | ||||
24 | } | ||||
25 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 26 | int %f4() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 27 | entry: |
28 | ret int 32767 | ||||
29 | } | ||||
30 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 31 | int %f5() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 32 | entry: |
33 | ret int 65535 | ||||
34 | } | ||||
35 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 36 | int %f6() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 37 | entry: |
38 | ret int 65536 | ||||
39 | } | ||||
40 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 41 | int %f7() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 42 | entry: |
43 | ret int 131071 | ||||
44 | } | ||||
45 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 46 | int %f8() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 47 | entry: |
48 | ret int 2147483647 | ||||
49 | } | ||||
50 | |||||
Jim Laskey | e5df8ea | 2005-08-18 20:06:09 +0000 | [diff] [blame] | 51 | int %f9() { |
Jim Laskey | 5a53c2cb | 2005-08-18 19:32:46 +0000 | [diff] [blame] | 52 | entry: |
53 | ret int -2147483648 | ||||
54 | } |