Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | llc -march=arm | \ |
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 2 | ; RUN: grep -- {-2147483648} | count 3 |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 3 | ; RUN: llvm-as < %s | llc -march=arm | grep mvn | count 3 |
4 | ; RUN: llvm-as < %s | llc -march=arm | grep adds | count 1 | ||||
5 | ; RUN: llvm-as < %s | llc -march=arm | grep adc | count 1 | ||||
6 | ; RUN: llvm-as < %s | llc -march=arm | grep {subs } | count 1 | ||||
7 | ; RUN: llvm-as < %s | llc -march=arm | grep sbc | count 1 | ||||
8 | ; RUN: llvm-as < %s | llc -march=arm | \ | ||||
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 9 | ; RUN: grep smull | count 1 |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 10 | ; RUN: llvm-as < %s | llc -march=arm | \ |
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 11 | ; RUN: grep umull | count 1 |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 12 | ; RUN: llvm-as < %s | llc -march=thumb | \ |
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 13 | ; RUN: grep mvn | count 1 |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 14 | ; RUN: llvm-as < %s | llc -march=thumb | \ |
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 15 | ; RUN: grep adc | count 1 |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 16 | ; RUN: llvm-as < %s | llc -march=thumb | \ |
Dan Gohman | 28beeea | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 17 | ; RUN: grep sbc | count 1 |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 18 | ; RUN: llvm-as < %s | llc -march=thumb | grep __muldi3 |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 19 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 20 | define i64 @f1() { |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 21 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 22 | ret i64 0 |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 23 | } |
24 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 25 | define i64 @f2() { |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 26 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 27 | ret i64 1 |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 28 | } |
29 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 30 | define i64 @f3() { |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 31 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 32 | ret i64 2147483647 |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 33 | } |
34 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 35 | define i64 @f4() { |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 36 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 37 | ret i64 2147483648 |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 38 | } |
39 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 40 | define i64 @f5() { |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 41 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 42 | ret i64 9223372036854775807 |
Rafael Espindola | 3a02f02 | 2006-09-04 19:05:01 +0000 | [diff] [blame] | 43 | } |
Rafael Espindola | 2d8680a | 2006-10-09 17:30:15 +0000 | [diff] [blame] | 44 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 45 | define i64 @f6(i64 %x, i64 %y) { |
Rafael Espindola | 2d8680a | 2006-10-09 17:30:15 +0000 | [diff] [blame] | 46 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 47 | %tmp1 = add i64 %y, 1 ; <i64> [#uses=1] |
48 | ret i64 %tmp1 | ||||
Rafael Espindola | 2d8680a | 2006-10-09 17:30:15 +0000 | [diff] [blame] | 49 | } |
Rafael Espindola | 26a76d1 | 2006-10-13 16:47:22 +0000 | [diff] [blame] | 50 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 51 | define void @f7() { |
Rafael Espindola | 26a76d1 | 2006-10-13 16:47:22 +0000 | [diff] [blame] | 52 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 53 | %tmp = call i64 @f8( ) ; <i64> [#uses=0] |
54 | ret void | ||||
Rafael Espindola | 5395538 | 2006-10-13 17:19:20 +0000 | [diff] [blame] | 55 | } |
Rafael Espindola | bec2e38 | 2006-10-16 16:33:29 +0000 | [diff] [blame] | 56 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 57 | declare i64 @f8() |
58 | |||||
59 | define i64 @f9(i64 %a, i64 %b) { | ||||
Rafael Espindola | bec2e38 | 2006-10-16 16:33:29 +0000 | [diff] [blame] | 60 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 61 | %tmp = sub i64 %a, %b ; <i64> [#uses=1] |
62 | ret i64 %tmp | ||||
Rafael Espindola | bec2e38 | 2006-10-16 16:33:29 +0000 | [diff] [blame] | 63 | } |
64 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 65 | define i64 @f(i32 %a, i32 %b) { |
Rafael Espindola | bec2e38 | 2006-10-16 16:33:29 +0000 | [diff] [blame] | 66 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 67 | %tmp = sext i32 %a to i64 ; <i64> [#uses=1] |
68 | %tmp1 = sext i32 %b to i64 ; <i64> [#uses=1] | ||||
69 | %tmp2 = mul i64 %tmp1, %tmp ; <i64> [#uses=1] | ||||
70 | ret i64 %tmp2 | ||||
Rafael Espindola | bec2e38 | 2006-10-16 16:33:29 +0000 | [diff] [blame] | 71 | } |
Rafael Espindola | 0d479ec | 2006-10-17 14:34:02 +0000 | [diff] [blame] | 72 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 73 | define i64 @g(i32 %a, i32 %b) { |
Rafael Espindola | 0d479ec | 2006-10-17 14:34:02 +0000 | [diff] [blame] | 74 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 75 | %tmp = zext i32 %a to i64 ; <i64> [#uses=1] |
76 | %tmp1 = zext i32 %b to i64 ; <i64> [#uses=1] | ||||
77 | %tmp2 = mul i64 %tmp1, %tmp ; <i64> [#uses=1] | ||||
78 | ret i64 %tmp2 | ||||
Rafael Espindola | 0d479ec | 2006-10-17 14:34:02 +0000 | [diff] [blame] | 79 | } |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame^] | 80 | |
81 | define i64 @f10() { | ||||
82 | entry: | ||||
83 | %a = alloca i64, align 8 ; <i64*> [#uses=1] | ||||
84 | %retval = load i64* %a ; <i64> [#uses=1] | ||||
85 | ret i64 %retval | ||||
86 | } | ||||
87 |