Skip to content

Commit

Permalink
[ESIMD] Restore the lowering of lsc_load_stateless in sycl-post-link (#…
Browse files Browse the repository at this point in the history
…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 <vyacheslav.n.klochkov@intel.com>
  • Loading branch information
v-klochkov authored Mar 22, 2024
1 parent 6246e20 commit ea7ba1b
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions llvm/lib/SYCLLowerIR/ESIMD/LowerESIMD.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,13 @@ class ESIMDIntrinDescTable {
{"lsc.load.merge.bti",
{ai1(0), c8(lsc_subopcode::load), t8(1), t8(2), t16(3), t32(4), t8(5),
t8(6), t8(7), c8(0), a(1), aSI(2), a(3)}}},
// lsc_load_stateless is not used in ESIMD headers, it is kept for
// backward compatibility of sycl-post-link, e.g. to support object
// files and/or static libraries compiled by the older compilers.
{"lsc_load_stateless",
{"lsc.load.stateless",
{ai1(0), c8(lsc_subopcode::load), t8(1), t8(2), t16(3), t32(4), t8(5),
t8(6), t8(7), c8(0), a(1), c32(0)}}},
{"lsc_load_merge_stateless",
{"lsc.load.merge.stateless",
{ai1(0), c8(lsc_subopcode::load), t8(1), t8(2), t16(3), t32(4), t8(5),
Expand Down

0 comments on commit ea7ba1b

Please sign in to comment.