| ; All of these should be codegen'd without loading immediates | |
| ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu | FileCheck %s | |
| define i64 @add_ll(i64 %a, i64 %b) nounwind { | |
| entry: | |
| %tmp.2 = add i64 %b, %a ; <i64> [#uses=1] | |
| ret i64 %tmp.2 | |
| ; CHECK-LABEL: add_ll: | |
| ; CHECK: addc 4, 6, 4 | |
| ; CHECK: adde 3, 5, 3 | |
| ; CHECK: blr | |
| } | |
| define i64 @add_l_5(i64 %a) nounwind { | |
| entry: | |
| %tmp.1 = add i64 %a, 5 ; <i64> [#uses=1] | |
| ret i64 %tmp.1 | |
| ; CHECK-LABEL: add_l_5: | |
| ; CHECK: addic 4, 4, 5 | |
| ; CHECK: addze 3, 3 | |
| ; CHECK: blr | |
| } | |
| define i64 @add_l_m5(i64 %a) nounwind { | |
| entry: | |
| %tmp.1 = add i64 %a, -5 ; <i64> [#uses=1] | |
| ret i64 %tmp.1 | |
| ; CHECK-LABEL: add_l_m5: | |
| ; CHECK: addic 4, 4, -5 | |
| ; CHECK: addme 3, 3 | |
| ; CHECK: blr | |
| } | |