47 lines · plain
1; RUN: llc -fast-isel=false -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \2; RUN: -mcpu=pwr9 -ppc-asm-full-reg-names < %s | FileCheck %s --check-prefix=P93; RUN: llc -fast-isel=false -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \4; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names < %s | FileCheck %s --check-prefix=P105 6@newname = dso_local alias i32 (...), ptr @oldname7 8; Function Attrs: noinline nounwind optnone9define dso_local signext i32 @oldname() #0 {10entry:11 ret i32 5512}13 14; Function Attrs: noinline nounwind optnone15define dso_local signext i32 @caller() #0 {16; #P9-LABEL: caller17; #P9: bl newname18; #P9-NOT: nop19; #P9: blr20; #P10-LABEL: caller21; #P10: bl newname@notoc22; #P10-NOT: nop23; #P10: blr24entry:25 %call = call signext i32 @newname()26 ret i32 %call27}28 29; Function Attrs: noinline nounwind optnone -pcrelative-memops30; This caller does not use PC Relative memops31define dso_local signext i32 @caller_nopcrel() #1 {32; #P9-LABEL: caller_nopcrel33; #P9: bl newname34; #P9-NOT: nop35; #P9: blr36; #P10-LABEL: caller_nopcrel37; #P10: bl newname38; #P10-NEXT: nop39; #P10: blr40entry:41 %call = call signext i32 @newname()42 ret i32 %call43}44 45attributes #0 = { noinline nounwind optnone }46attributes #1 = { noinline nounwind optnone "target-features"="-pcrelative-memops" }47