Skip to content

Commit ea7ba1b

Browse files
authored
[ESIMD] Restore the lowering of lsc_load_stateless in sycl-post-link (#13104)
Even though the fresh ESIMD headers do not use 'lsc_load_stateless()` intrinsic, the static libraries compiled by an old compiler may still have the calls of 'lsc_load_stateless' in them. The patch #12935 caused regressions in some MKL tests. This patch here restores the lowering of lsc_load_stateless for sycl-post-link backward compatibility. Signed-off-by: Klochkov, Vyacheslav N <[email protected]>
1 parent 6246e20 commit ea7ba1b

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

llvm/lib/SYCLLowerIR/ESIMD/LowerESIMD.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,13 @@ class ESIMDIntrinDescTable {
511511
{"lsc.load.merge.bti",
512512
{ai1(0), c8(lsc_subopcode::load), t8(1), t8(2), t16(3), t32(4), t8(5),
513513
t8(6), t8(7), c8(0), a(1), aSI(2), a(3)}}},
514+
// lsc_load_stateless is not used in ESIMD headers, it is kept for
515+
// backward compatibility of sycl-post-link, e.g. to support object
516+
// files and/or static libraries compiled by the older compilers.
517+
{"lsc_load_stateless",
518+
{"lsc.load.stateless",
519+
{ai1(0), c8(lsc_subopcode::load), t8(1), t8(2), t16(3), t32(4), t8(5),
520+
t8(6), t8(7), c8(0), a(1), c32(0)}}},
514521
{"lsc_load_merge_stateless",
515522
{"lsc.load.merge.stateless",
516523
{ai1(0), c8(lsc_subopcode::load), t8(1), t8(2), t16(3), t32(4), t8(5),

0 commit comments

Comments
 (0)