Open
Description
Mostly a note to myself. Several SIMD instructions on amd64 (e.g. shuffles, dot products, blending, etc.) take immediate control masks. We currently generate large branching fallback code inline but this is not great for code size. Can use llvm.is.constant
to keep the large materialized branching code sequence out of line while still allowing constant propagation to simplify shuffles with control masks that happen to be constant after optimization.