; RUN: opt < %s -mtriple=powerpc64le-ibm-linux-gnu -S -passes=inline | FileCheck %s ; RUN: opt < %s -mtriple=powerpc64le-ibm-linux-gnu -S -passes='cgscc(inline)' | FileCheck %s target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64le-ibm-linux-gnu" declare void @inlined() define void @explicit() #0 { ; CHECK-LABEL: explicit ; CHECK: entry ; CHECK-NEXT: call void @not_compatible1() ; CHECK-NEXT: call void @inlined() entry: call void @not_compatible1() call void @compatible1() ret void } define void @not_compatible1() #1 { entry: call i32 @inlined() ret void } define void @compatible1() #0 { entry: call void @inlined() ret void } define void @default() #3 { ; CHECK-LABEL: default ; CHECK: entry ; CHECK-NEXT: call void @not_compatible2() ; CHECK-NEXT: call void @inlined() entry: call void @not_compatible2() call void @compatible2() ret void } define void @not_compatible2() #4 { entry: call void @inlined() ret void } define void @compatible2() #5 { entry: call void @inlined() ret void } ; explicit attributes #0 = { "target-cpu"="pwr7" "target-features"="+allow-unaligned-fp-access" } attributes #1 = { "target-cpu"="pwr7" "target-features"="-allow-unaligned-fp-access" } ; pwr7 by default implies +vsx attributes #3 = { "target-cpu"="pwr7" } attributes #4 = { "target-cpu"="pwr7" "target-features"="-vsx" } attributes #5 = { "target-cpu"="pwr7" "target-features"="+vsx" }