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