Skip to content

Commit d87f998

Browse files
committed
Simply implementation to not use new intrinsics
Signed-off-by: Sarnie, Nick <[email protected]>
1 parent 8c3cf96 commit d87f998

File tree

4 files changed

+13
-212
lines changed

4 files changed

+13
-212
lines changed

llvm/lib/SYCLLowerIR/ESIMD/LowerESIMD.cpp

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -501,28 +501,15 @@ class ESIMDIntrinDescTable {
501501
{"raw.sends2",
502502
{a(0), a(1), ai1(2), a(3), a(4), a(5), a(6), a(7), a(8), a(9), a(10),
503503
a(11)}}},
504-
{"raw_sends2_constexpr",
505-
{"raw.sends2",
506-
{t(0), t(1), ai1(0), t(2), t(3), t(4), t(5), a(1), a(2), a(3), a(4),
507-
a(5)}}},
508504
{"raw_send2",
509505
{"raw.send2",
510506
{a(0), a(1), ai1(2), a(3), a(4), a(5), a(6), a(7), a(8), a(9)}}},
511-
{"raw_send2_constexpr",
512-
{"raw.send2",
513-
{t(0), t(1), ai1(0), t(2), t(3), t(4), a(1), a(2), a(3), a(4)}}},
514507
{"raw_sends2_noresult",
515508
{"raw.sends2.noresult",
516509
{a(0), a(1), ai1(2), a(3), a(4), a(5), a(6), a(7), a(8), a(9)}}},
517-
{"raw_sends2_noresult_constexpr",
518-
{"raw.sends2.noresult",
519-
{t(0), t(1), ai1(0), t(2), t(3), t(4), a(1), a(2), a(3), a(4)}}},
520510
{"raw_send2_noresult",
521511
{"raw.send2.noresult",
522512
{a(0), a(1), ai1(2), a(3), a(4), a(5), a(6), a(7)}}},
523-
{"raw_send2_noresult_constexpr",
524-
{"raw.send2.noresult",
525-
{t(0), t(1), ai1(0), t(2), t(3), a(1), a(2), a(3)}}},
526513
{"wait", {"dummy.mov", {a(0)}}},
527514
{"dpas2",
528515
{"dpas2", {a(0), a(1), a(2), t(0), t(1), t(2), t(3), t(11), t(12)}}},

llvm/test/SYCLLowerIR/ESIMD/lower_raw_send_constexpr.ll

Lines changed: 0 additions & 35 deletions
This file was deleted.

sycl/include/sycl/ext/intel/experimental/esimd/detail/memory_intrin.hpp

Lines changed: 0 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -80,50 +80,6 @@ __esimd_raw_sends2(uint8_t modifier, uint8_t execSize,
8080
}
8181
#endif // __SYCL_DEVICE_ONLY__
8282

83-
// \brief Raw sends.
84-
//
85-
// @tparam modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
86-
//
87-
// @tparam execSize the execution size.
88-
//
89-
// @tparam numSrc0 the number of GRFs for source-0.
90-
//
91-
// @tparam numSrc1 the number of GRFs for source-1.
92-
//
93-
// @tparam numDst the number of GRFs for destination.
94-
//
95-
// @tparam sfid the shared function ID.
96-
//
97-
// @param pred the predicate to specify enabled channels.
98-
//
99-
// @param exDesc the extended message descriptor.
100-
//
101-
// @param msgDesc the message descriptor.
102-
//
103-
// @param msgSrc0 the first source operand of send message.
104-
//
105-
// @param msgSrc1 the second source operand of send message.
106-
//
107-
// @param msgDst the destination operand of send message.
108-
//
109-
// Returns a simd vector of type Ty1 and size N1.
110-
template <uint8_t modifier, uint8_t execSize, uint8_t numSrc0, uint8_t numSrc1,
111-
uint8_t numDst, uint8_t sfid, typename Ty1, int N1, typename Ty2,
112-
int N2, typename Ty3, int N3, int N = 16>
113-
__ESIMD_INTRIN __ESIMD_DNS::vector_type_t<Ty1, N1>
114-
__esimd_raw_sends2_constexpr(__ESIMD_DNS::simd_mask_storage_t<N> pred,
115-
uint32_t exDesc, uint32_t msgDesc,
116-
__ESIMD_DNS::vector_type_t<Ty2, N2> msgSrc0,
117-
__ESIMD_DNS::vector_type_t<Ty3, N3> msgSrc1,
118-
__ESIMD_DNS::vector_type_t<Ty1, N1> msgDst)
119-
#ifdef __SYCL_DEVICE_ONLY__
120-
;
121-
#else
122-
{
123-
__ESIMD_UNSUPPORTED_ON_HOST;
124-
}
125-
#endif // __SYCL_DEVICE_ONLY__
126-
12783
// \brief Raw send.
12884
//
12985
// @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
@@ -165,45 +121,6 @@ __esimd_raw_send2(uint8_t modifier, uint8_t execSize,
165121
}
166122
#endif // __SYCL_DEVICE_ONLY__
167123

168-
// \brief Raw send.
169-
//
170-
// @tparam modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
171-
//
172-
// @tparam execSize the execution size.
173-
//
174-
// @tparam numSrc0 the number of GRFs for source-0.
175-
//
176-
// @tparam numDst the number of GRFs for destination.
177-
//
178-
// @tparam sfid the shared function ID.
179-
//
180-
// @param pred the predicate to specify enabled channels.
181-
//
182-
// @param exDesc the extended message descriptor.
183-
//
184-
// @param msgDesc the message descriptor.
185-
//
186-
// @param msgSrc0 the first source operand of send message.
187-
//
188-
// @param msgDst the destination operand of send message.
189-
//
190-
// Returns a simd vector of type Ty1 and size N1.
191-
//
192-
template <uint8_t modifier, uint8_t execSize, uint8_t numSrc0, uint8_t numDst,
193-
uint8_t sfid, typename Ty1, int N1, typename Ty2, int N2, int N = 16>
194-
__ESIMD_INTRIN __ESIMD_DNS::vector_type_t<Ty1, N1>
195-
__esimd_raw_send2_constexpr(__ESIMD_DNS::simd_mask_storage_t<N> pred,
196-
uint32_t exDesc, uint32_t msgDesc,
197-
__ESIMD_DNS::vector_type_t<Ty2, N2> msgSrc0,
198-
__ESIMD_DNS::vector_type_t<Ty1, N1> msgDst)
199-
#ifdef __SYCL_DEVICE_ONLY__
200-
;
201-
#else
202-
{
203-
__ESIMD_UNSUPPORTED_ON_HOST;
204-
}
205-
#endif // __SYCL_DEVICE_ONLY__
206-
207124
// \brief Raw sends.
208125
//
209126
// @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
@@ -244,42 +161,6 @@ __esimd_raw_sends2_noresult(uint8_t modifier, uint8_t execSize,
244161
}
245162
#endif // __SYCL_DEVICE_ONLY__
246163

247-
// \brief Raw sends.
248-
//
249-
// @tparam modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
250-
//
251-
// @tparam execSize the execution size.
252-
//
253-
// @tparam numSrc0 the number of GRFs for source-0.
254-
//
255-
// @tparam numSrc1 the number of GRFs for source-1.
256-
//
257-
// @tparam sfid the shared function ID.
258-
//
259-
// @param pred the predicate to specify enabled channels.
260-
//
261-
// @param exDesc the extended message descriptor.
262-
//
263-
// @param msgDesc the message descriptor.
264-
//
265-
// @param msgSrc0 the first source operand of send message.
266-
//
267-
// @param msgSrc1 the second source operand of send message.
268-
//
269-
template <uint8_t modifier, uint8_t execSize, uint8_t numSrc0, uint8_t numSrc1,
270-
uint8_t sfid, typename Ty1, int N1, typename Ty2, int N2, int N = 16>
271-
__ESIMD_INTRIN void __esimd_raw_sends2_noresult_constexpr(
272-
__ESIMD_DNS::simd_mask_storage_t<N> pred, uint32_t exDesc, uint32_t msgDesc,
273-
__ESIMD_DNS::vector_type_t<Ty1, N1> msgSrc0,
274-
__ESIMD_DNS::vector_type_t<Ty2, N2> msgSrc1)
275-
#ifdef __SYCL_DEVICE_ONLY__
276-
;
277-
#else
278-
{
279-
__ESIMD_UNSUPPORTED_ON_HOST;
280-
}
281-
#endif // __SYCL_DEVICE_ONLY__
282-
283164
// \brief Raw send.
284165
//
285166
// @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
@@ -314,37 +195,6 @@ __esimd_raw_send2_noresult(uint8_t modifier, uint8_t execSize,
314195
}
315196
#endif // __SYCL_DEVICE_ONLY__
316197

317-
// \brief Raw send.
318-
//
319-
// @tparam modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
320-
//
321-
// @tparam execSize the execution size.
322-
//
323-
// @tparam numSrc0 the number of GRFs for source-0.
324-
//
325-
// @tparam sfid the shared function ID.
326-
//
327-
// @param pred the predicate to specify enabled channels.
328-
//
329-
// @param exDesc the extended message descriptor.
330-
//
331-
// @param msgDesc the message descriptor.
332-
//
333-
// @param msgSrc0 the first source operand of send message.
334-
//
335-
template <uint8_t modifier, uint8_t execSize, uint8_t numSrc0, uint8_t sfid,
336-
typename Ty1, int N1, int N = 16>
337-
__ESIMD_INTRIN void __esimd_raw_send2_noresult_constexpr(
338-
__ESIMD_DNS::simd_mask_storage_t<N> pred, uint32_t exDesc, uint32_t msgDesc,
339-
__ESIMD_DNS::vector_type_t<Ty1, N1> msgSrc0)
340-
#ifdef __SYCL_DEVICE_ONLY__
341-
;
342-
#else
343-
{
344-
__ESIMD_UNSUPPORTED_ON_HOST;
345-
}
346-
#endif // __SYCL_DEVICE_ONLY__
347-
348198
/// Represents named barrier synchronization for a subgroup of threads.
349199
/// Available only on PVC
350200
///

sycl/include/sycl/ext/intel/experimental/esimd/memory.hpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,10 @@ raw_sends(__ESIMD_NS::simd<T1, n1> msgDst, __ESIMD_NS::simd<T2, n2> msgSrc0,
126126
using ElemT3 = __ESIMD_DNS::__raw_t<T3>;
127127

128128
constexpr uint8_t modifier = ((isEOT & 0x1) << 1) | (isSendc & 0x1);
129-
return __esimd_raw_sends2_constexpr<modifier, execSize, numSrc0, numSrc1,
130-
numDst, sfid, ElemT1, n1, ElemT2, n2,
131-
ElemT3, n3, N>(
132-
mask.data(), exDesc, msgDesc, msgSrc0.data(), msgSrc1.data(),
133-
msgDst.data());
129+
130+
return __esimd_raw_sends2<ElemT1, n1, ElemT2, n2, ElemT3, n3, N>(
131+
modifier, execSize, mask.data(), numSrc0, numSrc1, numDst, sfid, exDesc,
132+
msgDesc, msgSrc0.data(), msgSrc1.data(), msgDst.data());
134133
}
135134

136135
/// Raw send.
@@ -206,9 +205,9 @@ raw_send(__ESIMD_NS::simd<T1, n1> msgDst, __ESIMD_NS::simd<T2, n2> msgSrc0,
206205
using ElemT2 = __ESIMD_DNS::__raw_t<T2>;
207206

208207
constexpr uint8_t modifier = ((isEOT & 0x1) << 1) | (isSendc & 0x1);
209-
return __esimd_raw_send2_constexpr<modifier, execSize, numSrc0, numDst, sfid,
210-
ElemT1, n1, ElemT2, n2, N>(
211-
mask.data(), exDesc, msgDesc, msgSrc0.data(), msgDst.data());
208+
return __esimd_raw_send2<ElemT1, n1, ElemT2, n2, N>(
209+
modifier, execSize, mask.data(), numSrc0, numDst, sfid, exDesc, msgDesc,
210+
msgSrc0.data(), msgDst.data());
212211
}
213212

214213
/// Raw sends. "s" suffix designates "split" variant - i.e. two sources.
@@ -283,9 +282,9 @@ __ESIMD_API void raw_sends(__ESIMD_NS::simd<T1, n1> msgSrc0,
283282
using ElemT2 = __ESIMD_DNS::__raw_t<T2>;
284283

285284
constexpr uint8_t modifier = ((isEOT & 0x1) << 1) | (isSendc & 0x1);
286-
__esimd_raw_sends2_noresult_constexpr<modifier, execSize, numSrc0, numSrc1,
287-
sfid, ElemT1, n1, ElemT2, n2, N>(
288-
mask.data(), exDesc, msgDesc, msgSrc0.data(), msgSrc1.data());
285+
__esimd_raw_sends2_noresult<ElemT1, n1, ElemT2, n2, N>(
286+
modifier, execSize, mask.data(), numSrc0, numSrc1, sfid, exDesc, msgDesc,
287+
msgSrc0.data(), msgSrc1.data());
289288
}
290289

291290
/// Raw send. Generates a \c send or \c sendc instruction for the message
@@ -343,9 +342,9 @@ __ESIMD_API void raw_send(__ESIMD_NS::simd<T1, n1> msgSrc0, uint32_t exDesc,
343342
static_assert(_Width1 % 32 == 0, "Invalid size for raw send msgSrc0");
344343
using ElemT1 = __ESIMD_DNS::__raw_t<T1>;
345344
constexpr uint8_t modifier = ((isEOT & 0x1) << 1) | (isSendc & 0x1);
346-
__esimd_raw_send2_noresult_constexpr<modifier, execSize, numSrc0, sfid,
347-
ElemT1, n1, N>(mask.data(), exDesc,
348-
msgDesc, msgSrc0.data());
345+
__esimd_raw_send2_noresult<ElemT1, n1, N>(modifier, execSize, mask.data(),
346+
numSrc0, sfid, exDesc, msgDesc,
347+
msgSrc0.data());
349348
}
350349

351350
/// @} sycl_esimd_raw_send

0 commit comments

Comments
 (0)