-
Notifications
You must be signed in to change notification settings - Fork 158
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
avoid redundant moves for SIMD shuffle down intrinsic
SIMD shuffle down intrinsic takes "current" and "next" values and combines them into 2N variable (where N is SIMD size) to deal with OOB lanes when shuffling. The moves to initialize this temporary variable are materialized in emit vISA pass, thus when multiple shuffle intrinsic calls have the identical source operands, we end up with multiple temp variables and redundant moves. This change adds per basic block caching of temporary variable, so multiple shuffle in the same BB can share common source.
- Loading branch information
1 parent
ed2657a
commit 097633c
Showing
2 changed files
with
45 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters