diff options
Diffstat (limited to 'test/CodeGen/ARM/long.ll')
-rw-r--r-- | test/CodeGen/ARM/long.ll | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/test/CodeGen/ARM/long.ll b/test/CodeGen/ARM/long.ll index c01a4cb613..834f068710 100644 --- a/test/CodeGen/ARM/long.ll +++ b/test/CodeGen/ARM/long.ll @@ -7,7 +7,9 @@ ; RUN: llvm-as < %s | llc -march=arm | grep "adds" | wc -l | grep 1 && ; RUN: llvm-as < %s | llc -march=arm | grep "adcs" | wc -l | grep 1 && ; RUN: llvm-as < %s | llc -march=arm | grep "subs" | wc -l | grep 1 && -; RUN: llvm-as < %s | llc -march=arm | grep "sbcs" | wc -l | grep 1 +; RUN: llvm-as < %s | llc -march=arm | grep "sbcs" | wc -l | grep 1 && +; RUN: llvm-as < %s | llc -march=arm | grep "smull" | wc -l | grep 1 && +; RUN: llvm-as < %s | llc -march=arm | grep "umull" | wc -l | grep 1 long %f1() { entry: @@ -52,3 +54,19 @@ entry: %tmp = sub long %a, %b ret long %tmp } + +long %f(int %a, int %b) { +entry: + %tmp = cast int %a to long + %tmp1 = cast int %b to long + %tmp2 = mul long %tmp1, %tmp + ret long %tmp2 +} + +ulong %g(uint %a, uint %b) { +entry: + %tmp = cast uint %a to ulong + %tmp1 = cast uint %b to ulong + %tmp2 = mul ulong %tmp1, %tmp + ret ulong %tmp2 +} |