-
Notifications
You must be signed in to change notification settings - Fork 745
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ESIMD] Refactor esimd intrinsic mapping to BE intrinsics. (#4720)
* [ESIMD] Refactor esimd intrinsic mapping to BE intrinsics. This patch - makes names and parameter lists of __esimd* intrinsics match their @llvm.genx counterparts. The benefits are: * this removes the extra logical translation layer between __esimd* and @llvm.genx thus simplifying overall user-level esimd intrinsic translation * allows to reuse lots of functionality between SLM and surface memory accesses - moves some of the translations and argument setting (like accessor field to surface index, setting scale) from LowerESIMD.cpp to the ESIMD headers, which simplifies code base. - for all memory intrinsics moves host and device implementations to the same intrinsic function prototype separating them via __SYCL_DEVICE_ONLY__ macro thus avoiding duplication of the prototypes - removes certain redundant __esimd* intrinsics, such as SLM memory accesses (which are normal surface accesses with special surface index 254), and __esimd_reduced_fmax,... which have the same functionality as usual fmax,... This is also a preparatory step for fixing SLM memory accesses (revising vector lengths, element types restirictions) Signed-off-by: Konstantin S Bobrovsky <[email protected]>
- Loading branch information
Showing
12 changed files
with
1,178 additions
and
1,298 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
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
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
Oops, something went wrong.