Inlining + target_feature broken in powerpc64 #60637
Labels
A-LLVM
Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
A-SIMD
Area: SIMD (Single Instruction Multiple Data)
C-bug
Category: This is a bug.
O-PowerPC
Target: PowerPC processors
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
godbolt
with
#[inline]
that code produces a function call withinsplat_u32x4
(b example::u32x4::splat
) tou32x4::splat
, which is not eliminated, even though this method is module private. With#[inline(always)]
,u32x4::splat
is inlined intosplat_u32x4
, and no code foru32x4::splat
is generated.#[inline]
should not be needed here, much less#[inline(always)]
, yet without#[inline(always)]
this produces bad codegen.Removing the
#[target_feature]
attribute fromsplat_u32x4
fixes the issue, no#[inline]
necessary: godbolt. So there must be some interaction between inlining and target features going on here.The text was updated successfully, but these errors were encountered: