; All of these should be codegen'd without loading immediates
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -o %t -f
-; RUN: grep addc %t | count 1
-; RUN: grep adde %t | count 1
-; RUN: grep addze %t | count 1
-; RUN: grep addme %t | count 1
-; RUN: grep addic %t | count 2
+; RUN: llc < %s -mtriple=powerpc-apple-darwin | FileCheck %s
-implementation ; Functions:
-
-long %add_ll(long %a, long %b) {
+define i64 @add_ll(i64 %a, i64 %b) nounwind {
entry:
- %tmp.2 = add long %b, %a ; <long> [#uses=1]
- ret long %tmp.2
+ %tmp.2 = add i64 %b, %a ; <i64> [#uses=1]
+ ret i64 %tmp.2
+; CHECK-LABEL: add_ll:
+; CHECK: addc r4, r6, r4
+; CHECK: adde r3, r5, r3
+; CHECK: blr
}
-long %add_l_5(long %a) {
+define i64 @add_l_5(i64 %a) nounwind {
entry:
- %tmp.1 = add long %a, 5 ; <long> [#uses=1]
- ret long %tmp.1
+ %tmp.1 = add i64 %a, 5 ; <i64> [#uses=1]
+ ret i64 %tmp.1
+; CHECK-LABEL: add_l_5:
+; CHECK: addic r4, r4, 5
+; CHECK: addze r3, r3
+; CHECK: blr
}
-long %add_l_m5(long %a) {
+define i64 @add_l_m5(i64 %a) nounwind {
entry:
- %tmp.1 = add long %a, -5 ; <long> [#uses=1]
- ret long %tmp.1
+ %tmp.1 = add i64 %a, -5 ; <i64> [#uses=1]
+ ret i64 %tmp.1
+; CHECK-LABEL: add_l_m5:
+; CHECK: addic r4, r4, -5
+; CHECK: addme r3, r3
+; CHECK: blr
}
+