blob: 8c928ce8bcad18908054ba59c8f1a7522d5bb13e [file] [log] [blame]
Nate Begeman8ec18172006-02-17 06:24:31 +00001; All of these should be codegen'd without loading immediates
Chris Lattner25e0f912010-02-21 19:27:38 +00002; RUN: llc < %s -mtriple=powerpc-apple-darwin | FileCheck %s
Nate Begemanb5fefc72006-02-17 06:16:56 +00003
Chris Lattnerad14fcc2010-02-21 18:53:28 +00004define i64 @add_ll(i64 %a, i64 %b) nounwind {
Nate Begemanb5fefc72006-02-17 06:16:56 +00005entry:
Tanya Lattner6f729d62008-03-25 04:26:08 +00006 %tmp.2 = add i64 %b, %a ; <i64> [#uses=1]
7 ret i64 %tmp.2
Chris Lattnerad14fcc2010-02-21 18:53:28 +00008; CHECK: add_ll:
9; CHECK: addc r4, r6, r4
10; CHECK: adde r3, r5, r3
11; CHECK: blr
Nate Begemanb5fefc72006-02-17 06:16:56 +000012}
13
Chris Lattnerad14fcc2010-02-21 18:53:28 +000014define i64 @add_l_5(i64 %a) nounwind {
Nate Begemanb5fefc72006-02-17 06:16:56 +000015entry:
Tanya Lattner6f729d62008-03-25 04:26:08 +000016 %tmp.1 = add i64 %a, 5 ; <i64> [#uses=1]
17 ret i64 %tmp.1
Chris Lattnerad14fcc2010-02-21 18:53:28 +000018; CHECK: add_l_5:
19; CHECK: addic r4, r4, 5
20; CHECK: addze r3, r3
21; CHECK: blr
Nate Begemanb5fefc72006-02-17 06:16:56 +000022}
23
Chris Lattnerad14fcc2010-02-21 18:53:28 +000024define i64 @add_l_m5(i64 %a) nounwind {
Nate Begemanb5fefc72006-02-17 06:16:56 +000025entry:
Tanya Lattner6f729d62008-03-25 04:26:08 +000026 %tmp.1 = add i64 %a, -5 ; <i64> [#uses=1]
27 ret i64 %tmp.1
Chris Lattnerad14fcc2010-02-21 18:53:28 +000028; CHECK: add_l_m5:
29; CHECK: addic r4, r4, -5
30; CHECK: addme r3, r3
31; CHECK: blr
Nate Begemanb5fefc72006-02-17 06:16:56 +000032}
Tanya Lattner6f729d62008-03-25 04:26:08 +000033