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
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.
The text was updated successfully, but these errors were encountered:
imhameed
changed the title
[mono] Add support for SIMD shuffles with non-constant masks
[mono] Share large fallback immediate-parameter workaround code sequences
Jun 14, 2021
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.The text was updated successfully, but these errors were encountered: