On Mon, May 13, 2024 at 8:18 AM Robin Dapp <rdapp....@gmail.com> wrote: > > > How does this make a difference in the end? I'd expect say forwprop to > > fix things? > > In general we try to only add the masking "boilerplate" of our > instructions at split time so fwprop, combine et al. can do their > work uninhibited of it (and we don't need numerous > (if_then_else ... (if_then_else) ...) combinations in our patterns). > A vec constant we expand directly to a masked representation, though > which makes further simplification difficult. I can experiment with > changing that if preferred. > > My thinking was, however, that for other operations like binops we > directly emit the right variant via expand_operands without > forcing to a reg and don't even need to fwprop so I wanted to > imitate that.
Ah, so yeah, it probably makes sense for constants. Btw, there's prepare_operand which I think might be better for its CONST_INT handling? I can also see we usually do not bother with force_reg, the force_reg was added with the initial r6-4696-ga414c77f2a30bb already. What happens if we simply remove all of the force_reg here? Thanks, Richard. > Regards > Robin >