blob: 4ac95961f079b8d56cc0f3cbfd0728e77fd4ebce [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; All of these should be codegen'd without loading immediates
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +00002; RUN: llvm-as < %s | llc -march=ppc32 -o %t -f
Dan Gohman8c89a502007-08-15 13:36:28 +00003; RUN: grep subfc %t | count 1
4; RUN: grep subfe %t | count 1
5; RUN: grep subfze %t | count 1
6; RUN: grep subfme %t | count 1
7; RUN: grep subfic %t | count 2
Dan Gohmanf17a25c2007-07-18 16:29:46 +00008
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +00009define i64 @sub_ll(i64 %a, i64 %b) {
Dan Gohmanf17a25c2007-07-18 16:29:46 +000010entry:
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +000011 %tmp.2 = sub i64 %a, %b ; <i64> [#uses=1]
12 ret i64 %tmp.2
Dan Gohmanf17a25c2007-07-18 16:29:46 +000013}
14
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +000015define i64 @sub_l_5(i64 %a) {
Dan Gohmanf17a25c2007-07-18 16:29:46 +000016entry:
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +000017 %tmp.1 = sub i64 5, %a ; <i64> [#uses=1]
18 ret i64 %tmp.1
Dan Gohmanf17a25c2007-07-18 16:29:46 +000019}
20
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +000021define i64 @sub_l_m5(i64 %a) {
Dan Gohmanf17a25c2007-07-18 16:29:46 +000022entry:
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +000023 %tmp.1 = sub i64 -5, %a ; <i64> [#uses=1]
24 ret i64 %tmp.1
Dan Gohmanf17a25c2007-07-18 16:29:46 +000025}