Evan Cheng | 9e38e32 | 2007-01-23 23:28:50 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | llc -march=arm && |
| 2 | ; RUN: llvm-as < %s | llc -march=arm | grep mul | wc -l | grep 2 && |
| 3 | ; RUN: llvm-as < %s | llc -march=arm | grep lsl | wc -l | grep 2 && |
| 4 | ; RUN: llvm-as < %s | llc -march=arm -enable-thumb | grep mul | wc -l | grep 3 && |
| 5 | ; RUN: llvm-as < %s | llc -march=arm -enable-thumb | grep lsl | wc -l | grep 1 |
Rafael Espindola | 71f3b94 | 2006-09-19 15:49:25 +0000 | [diff] [blame] | 6 | |
Evan Cheng | 9e38e32 | 2007-01-23 23:28:50 +0000 | [diff] [blame^] | 7 | define i32 %f1(i32 %u) { |
| 8 | %tmp = mul i32 %u, %u |
| 9 | ret i32 %tmp |
Rafael Espindola | 71f3b94 | 2006-09-19 15:49:25 +0000 | [diff] [blame] | 10 | } |
| 11 | |
Evan Cheng | 9e38e32 | 2007-01-23 23:28:50 +0000 | [diff] [blame^] | 12 | define i32 %f2(i32 %u, i32 %v) { |
| 13 | %tmp = mul i32 %u, %v |
| 14 | ret i32 %tmp |
| 15 | } |
| 16 | |
| 17 | define i32 %f3(i32 %u) { |
| 18 | %tmp = mul i32 %u, 5 |
| 19 | ret i32 %tmp |
| 20 | } |
| 21 | |
| 22 | define i32 %f4(i32 %u) { |
| 23 | %tmp = mul i32 %u, 4 |
| 24 | ret i32 %tmp |
Rafael Espindola | 71f3b94 | 2006-09-19 15:49:25 +0000 | [diff] [blame] | 25 | } |