2006-02-17 06:24:31 +00:00
|
|
|
; All of these should be codegen'd without loading immediates
|
2008-02-19 08:07:33 +00:00
|
|
|
; RUN: llvm-as < %s | llc -march=ppc32 -o %t -f
|
2007-08-15 13:36:28 +00:00
|
|
|
; RUN: grep subfc %t | count 1
|
|
|
|
; RUN: grep subfe %t | count 1
|
|
|
|
; RUN: grep subfze %t | count 1
|
|
|
|
; RUN: grep subfme %t | count 1
|
|
|
|
; RUN: grep subfic %t | count 2
|
2006-02-17 06:16:56 +00:00
|
|
|
|
2008-02-19 08:07:33 +00:00
|
|
|
define i64 @sub_ll(i64 %a, i64 %b) {
|
2006-02-17 06:16:56 +00:00
|
|
|
entry:
|
2008-02-19 08:07:33 +00:00
|
|
|
%tmp.2 = sub i64 %a, %b ; <i64> [#uses=1]
|
|
|
|
ret i64 %tmp.2
|
2006-02-17 06:16:56 +00:00
|
|
|
}
|
|
|
|
|
2008-02-19 08:07:33 +00:00
|
|
|
define i64 @sub_l_5(i64 %a) {
|
2006-02-17 06:16:56 +00:00
|
|
|
entry:
|
2008-02-19 08:07:33 +00:00
|
|
|
%tmp.1 = sub i64 5, %a ; <i64> [#uses=1]
|
|
|
|
ret i64 %tmp.1
|
2006-02-17 06:16:56 +00:00
|
|
|
}
|
|
|
|
|
2008-02-19 08:07:33 +00:00
|
|
|
define i64 @sub_l_m5(i64 %a) {
|
2006-02-17 06:16:56 +00:00
|
|
|
entry:
|
2008-02-19 08:07:33 +00:00
|
|
|
%tmp.1 = sub i64 -5, %a ; <i64> [#uses=1]
|
|
|
|
ret i64 %tmp.1
|
2006-02-17 06:16:56 +00:00
|
|
|
}
|