blob: dd1cd1d41a5a37e157fbb1b124c82b0066041e0a [file] [log] [blame]
Evan Cheng05c269c2009-08-12 01:49:45 +00001; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | FileCheck %s
David Goodwin93d95bd2009-06-26 18:07:25 +00002
David Goodwin8ba221d2009-06-29 22:25:22 +00003; 734439407618 = 0x000000ab00000002
David Goodwin93d95bd2009-06-26 18:07:25 +00004define i64 @f1(i64 %a) {
Evan Cheng05c269c2009-08-12 01:49:45 +00005; CHECK: f1:
6; CHECK: adds r0, #2
David Goodwin8ba221d2009-06-29 22:25:22 +00007 %tmp = add i64 %a, 734439407618
David Goodwin93d95bd2009-06-26 18:07:25 +00008 ret i64 %tmp
9}
10
David Goodwin8ba221d2009-06-29 22:25:22 +000011; 5066626890203138 = 0x0012001200000002
David Goodwin93d95bd2009-06-26 18:07:25 +000012define i64 @f2(i64 %a) {
Evan Cheng05c269c2009-08-12 01:49:45 +000013; CHECK: f2:
14; CHECK: adds r0, #2
David Goodwin8ba221d2009-06-29 22:25:22 +000015 %tmp = add i64 %a, 5066626890203138
David Goodwin93d95bd2009-06-26 18:07:25 +000016 ret i64 %tmp
17}
18
David Goodwin8ba221d2009-06-29 22:25:22 +000019; 3747052064576897026 = 0x3400340000000002
David Goodwin93d95bd2009-06-26 18:07:25 +000020define i64 @f3(i64 %a) {
Evan Cheng05c269c2009-08-12 01:49:45 +000021; CHECK: f3:
22; CHECK: adds r0, #2
David Goodwin8ba221d2009-06-29 22:25:22 +000023 %tmp = add i64 %a, 3747052064576897026
David Goodwin93d95bd2009-06-26 18:07:25 +000024 ret i64 %tmp
25}
26
David Goodwin8ba221d2009-06-29 22:25:22 +000027; 6221254862626095106 = 0x5656565600000002
David Goodwin93d95bd2009-06-26 18:07:25 +000028define i64 @f4(i64 %a) {
Evan Cheng05c269c2009-08-12 01:49:45 +000029; CHECK: f4:
30; CHECK: adds r0, #2
David Goodwin8ba221d2009-06-29 22:25:22 +000031 %tmp = add i64 %a, 6221254862626095106
David Goodwin93d95bd2009-06-26 18:07:25 +000032 ret i64 %tmp
33}
34
David Goodwin8ba221d2009-06-29 22:25:22 +000035; 287104476244869122 = 0x03fc000000000002
David Goodwin93d95bd2009-06-26 18:07:25 +000036define i64 @f5(i64 %a) {
Evan Cheng05c269c2009-08-12 01:49:45 +000037; CHECK: f5:
38; CHECK: adds r0, #2
David Goodwin8ba221d2009-06-29 22:25:22 +000039 %tmp = add i64 %a, 287104476244869122
David Goodwin93d95bd2009-06-26 18:07:25 +000040 ret i64 %tmp
41}
42
Evan Cheng05c269c2009-08-12 01:49:45 +000043define i64 @f6(i64 %a, i64 %b) {
44; CHECK: f6:
45; CHECK: adds r0, r0, r2
46 %tmp = add i64 %a, %b
47 ret i64 %tmp
48}