You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was raised at the 2026 devmtg x86 roundtable.
X86 still doesn't make any attempt to materialize any vector constant patterns apart from all-zero and all-ones, we have no mechanism to determine the cost of materialization (vs a folded load) or when they can be hoisted (LICM etc.) into spare registers (vs cheap rematerialization).
@preames has proposed he raise an initial pathfinder patch that we can then add additional patterns to for specific ISAs etc.
Possible patterns - see Agner Fog's "Generating Constants" chapter in "Optimizing subroutines in assembly language".
Details
This was raised at the 2026 devmtg x86 roundtable.
X86 still doesn't make any attempt to materialize any vector constant patterns apart from all-zero and all-ones, we have no mechanism to determine the cost of materialization or when they can be hoisted (LICM etc.) into spare registers (vs cheap rematerialization).
@preames has proposed he raise an initial pathfinder patch that we can then add additional patterns to for specific ISAs etc.
Activity
llvmorg-github-actions commentedon Nov 7, 2026
@llvm/issue-subscribers-backend-x86
Author: Simon Pilgrim (RKSimon)
Details
This was raised at the 2026 devmtg x86 roundtable.X86 still doesn't make any attempt to materialize any vector constant patterns apart from all-zero and all-ones, we have no mechanism to determine the cost of materialization or when they can be hoisted (LICM etc.) into spare registers (vs cheap rematerialization).
@preames has proposed he raise an initial pathfinder patch that we can then add additional patterns to for specific ISAs etc.