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