On 5/26/2026 2:31 PM, Richard Sandiford wrote: > Robin Dapp <[email protected]> writes: >> From: Robin Dapp <[email protected]> >> >> Building upon Richard's register filters, this patch series introduces >> filters >> that can base their filtering decision on a second operand: The constrained >> operand (the "dependent" operand), and the "referenced" operand. >> This allows e.g. to constrain the dependent operand relative to the mode of >> an >> output operand. For RISC-V, a typical example is when a source of a widening >> vector instruction must either not overlap the destination at all or only a >> specific subreg of the destination. >> >> A major difference to register filters is that dependent filters are dynamic >> and can therefore be significantly heavier in compile-time. Also, by their >> nature, they are order-dependent, influencing greedy coloring heuristics. > Just to probe the problem space a bit: how many registers does the widest > possible destination have? The reason for asking is that, for two registers, > it's possible to arrange "no overlap of the high half" using: You can gang them in a group of 2, 4 or 8.
Jeff
