@@ -227,6 +227,151 @@ __esimd_media_block_store(unsigned modififer, TACC handle, unsigned plane,
227
227
unsigned width, unsigned x, unsigned y,
228
228
sycl::INTEL::gpu::vector_type_t <Ty, M * N> vals);
229
229
230
+ // / \brief esimd_get_value
231
+ // /
232
+ // / @param sid the SYCL accessor.
233
+ // /
234
+ // / Returns the binding table index value.
235
+ // /
236
+ template <typename SurfIndAliasTy>
237
+ SYCL_EXTERNAL uint32_t __esimd_get_value (SurfIndAliasTy sid);
238
+
239
+ // / \brief Raw sends load.
240
+ // /
241
+ // / @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
242
+ // /
243
+ // / @param execSize the execution size, which must be a compile time constant.
244
+ // /
245
+ // / @param pred the predicate to specify enabled channels.
246
+ // /
247
+ // / @param numSrc0 the number of GRFs for source-0, which must be a compile time
248
+ // / constant.
249
+ // /
250
+ // / @param numSrc1 the number of GRFs for source-1, which must be a compile time
251
+ // / constant.
252
+ // /
253
+ // / @param numDst the number of GRFs for destination, which must be a compile
254
+ // / time constant.
255
+ // /
256
+ // / @param sfid the shared function ID, which must be a compile time constant.
257
+ // /
258
+ // / @param exDesc the extended message descriptor.
259
+ // /
260
+ // / @param msgDesc the message descriptor.
261
+ // /
262
+ // / @param msgSrc0 the first source operand of send message.
263
+ // /
264
+ // / @param msgSrc1 the second source operand of send message.
265
+ // /
266
+ // / @param msgDst the destination operand of send message.
267
+ // /
268
+ // / Returns a simd vector of type Ty1 and size N1.
269
+ // /
270
+ template <typename Ty1, int N1, typename Ty2, int N2, typename Ty3, int N3,
271
+ int N = 16 >
272
+ SYCL_EXTERNAL sycl::INTEL::gpu::vector_type_t <Ty1, N1>
273
+ __esimd_raw_sends_load (uint8_t modifier, uint8_t execSize,
274
+ sycl::INTEL::gpu::vector_type_t <uint16_t , N> pred,
275
+ uint8_t numSrc0, uint8_t numSrc1, uint8_t numDst,
276
+ uint8_t sfid, uint32_t exDesc, uint32_t msgDesc,
277
+ sycl::INTEL::gpu::vector_type_t <Ty2, N2> msgSrc0,
278
+ sycl::INTEL::gpu::vector_type_t <Ty3, N3> msgSrc1,
279
+ sycl::INTEL::gpu::vector_type_t <Ty1, N1> msgDst);
280
+
281
+ // / \brief Raw send load.
282
+ // /
283
+ // / @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
284
+ // /
285
+ // / @param execSize the execution size, which must be a compile time constant.
286
+ // /
287
+ // / @param pred the predicate to specify enabled channels.
288
+ // /
289
+ // / @param numSrc0 the number of GRFs for source-0, which must be a compile time
290
+ // / constant.
291
+ // /
292
+ // / @param numDst the number of GRFs for destination, which must be a compile
293
+ // / time constant.
294
+ // /
295
+ // / @param sfid the shared function ID, which must be a compile time constant.
296
+ // /
297
+ // / @param exDesc the extended message descriptor.
298
+ // /
299
+ // / @param msgDesc the message descriptor.
300
+ // /
301
+ // / @param msgSrc0 the first source operand of send message.
302
+ // /
303
+ // / @param msgDst the destination operand of send message.
304
+ // /
305
+ // / Returns a simd vector of type Ty1 and size N1.
306
+ // /
307
+ template <typename Ty1, int N1, typename Ty2, int N2, int N = 16 >
308
+ SYCL_EXTERNAL sycl::INTEL::gpu::vector_type_t <Ty1, N1>
309
+ __esimd_raw_send_load (uint8_t modifier, uint8_t execSize,
310
+ sycl::INTEL::gpu::vector_type_t <uint16_t , N> pred,
311
+ uint8_t numSrc0, uint8_t numDst, uint8_t sfid,
312
+ uint32_t exDesc, uint32_t msgDesc,
313
+ sycl::INTEL::gpu::vector_type_t <Ty2, N2> msgSrc0,
314
+ sycl::INTEL::gpu::vector_type_t <Ty1, N1> msgDst);
315
+
316
+ // / \brief Raw sends store.
317
+ // /
318
+ // / @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
319
+ // /
320
+ // / @param execSize the execution size, which must be a compile time constant.
321
+ // /
322
+ // / @param pred the predicate to specify enabled channels.
323
+ // /
324
+ // / @param numSrc0 the number of GRFs for source-0, which must be a compile time
325
+ // / constant.
326
+ // /
327
+ // / @param numSrc1 the number of GRFs for source-1, which must be a compile time
328
+ // / constant.
329
+ // /
330
+ // / @param sfid the shared function ID, which must be a compile time constant.
331
+ // /
332
+ // / @param exDesc the extended message descriptor.
333
+ // /
334
+ // / @param msgDesc the message descriptor.
335
+ // /
336
+ // / @param msgSrc0 the first source operand of send message.
337
+ // /
338
+ // / @param msgSrc1 the second source operand of send message.
339
+ // /
340
+ template <typename Ty1, int N1, typename Ty2, int N2, int N = 16 >
341
+ SYCL_EXTERNAL void
342
+ __esimd_raw_sends_store (uint8_t modifier, uint8_t execSize,
343
+ sycl::INTEL::gpu::vector_type_t <uint16_t , N> pred,
344
+ uint8_t numSrc0, uint8_t numSrc1, uint8_t sfid,
345
+ uint32_t exDesc, uint32_t msgDesc,
346
+ sycl::INTEL::gpu::vector_type_t <Ty1, N1> msgSrc0,
347
+ sycl::INTEL::gpu::vector_type_t <Ty2, N2> msgSrc1);
348
+
349
+ // / \brief Raw send store.
350
+ // /
351
+ // / @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
352
+ // /
353
+ // / @param execSize the execution size, which must be a compile time constant.
354
+ // /
355
+ // / @param pred the predicate to specify enabled channels.
356
+ // /
357
+ // / @param numSrc0 the number of GRFs for source-0, which must be a compile time
358
+ // / constant.
359
+ // /
360
+ // / @param sfid the shared function ID, which must be a compile time constant.
361
+ // /
362
+ // / @param exDesc the extended message descriptor.
363
+ // /
364
+ // / @param msgDesc the message descriptor.
365
+ // /
366
+ // / @param msgSrc0 the first source operand of send message.
367
+ // /
368
+ template <typename Ty1, int N1, int N = 16 >
369
+ SYCL_EXTERNAL void
370
+ __esimd_raw_send_store (uint8_t modifier, uint8_t execSize,
371
+ sycl::INTEL::gpu::vector_type_t <uint16_t , N> pred,
372
+ uint8_t numSrc0, uint8_t sfid, uint32_t exDesc,
373
+ uint32_t msgDesc,
374
+ sycl::INTEL::gpu::vector_type_t <Ty1, N1> msgSrc0);
230
375
#ifndef __SYCL_DEVICE_ONLY__
231
376
232
377
template <typename Ty, int N, int NumBlk, sycl::INTEL::gpu::CacheHint L1H,
@@ -660,4 +805,163 @@ __esimd_block_write(SurfIndAliasTy surf_ind, uint32_t offset,
660
805
throw cl::sycl::feature_not_supported ();
661
806
}
662
807
808
+ // / \brief esimd_get_value
809
+ // /
810
+ // / @param acc the SYCL accessor.
811
+ // /
812
+ // / Returns the binding table index value.
813
+ // /
814
+ template <typename AccessorTy>
815
+ SYCL_EXTERNAL uint32_t __esimd_get_value (AccessorTy acc) {
816
+ throw cl::sycl::feature_not_supported ();
817
+ return 0 ;
818
+ }
819
+
820
+ // / \brief Raw sends load.
821
+ // /
822
+ // / @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
823
+ // /
824
+ // / @param execSize the execution size, which must be a compile time constant.
825
+ // /
826
+ // / @param pred the predicate to specify enabled channels.
827
+ // /
828
+ // / @param numSrc0 the number of GRFs for source-0, which must be a compile time
829
+ // / constant.
830
+ // /
831
+ // / @param numSrc1 the number of GRFs for source-1, which must be a compile time
832
+ // / constant.
833
+ // /
834
+ // / @param numDst the number of GRFs for destination, which must be a compile
835
+ // / time constant.
836
+ // /
837
+ // / @param sfid the shared function ID, which must be a compile time constant.
838
+ // /
839
+ // / @param exDesc the extended message descriptor.
840
+ // /
841
+ // / @param msgDesc the message descriptor.
842
+ // /
843
+ // / @param msgSrc0 the first source operand of send message.
844
+ // /
845
+ // / @param msgSrc1 the second source operand of send message.
846
+ // /
847
+ // / @param msgDst the destination operand of send message.
848
+ // /
849
+ // / Returns a simd vector of type Ty1 and size N1.
850
+ // /
851
+ template <typename Ty1, int N1, typename Ty2, int N2, typename Ty3, int N3,
852
+ int N>
853
+ SYCL_EXTERNAL sycl::INTEL::gpu::vector_type_t <Ty1, N1>
854
+ __esimd_raw_sends_load (uint8_t modifier, uint8_t execSize,
855
+ sycl::INTEL::gpu::vector_type_t <uint16_t , N> pred,
856
+ uint8_t numSrc0, uint8_t numSrc1, uint8_t numDst,
857
+ uint8_t sfid, uint32_t exDesc, uint32_t msgDesc,
858
+ sycl::INTEL::gpu::vector_type_t <Ty2, N2> msgSrc0,
859
+ sycl::INTEL::gpu::vector_type_t <Ty3, N3> msgSrc1,
860
+ sycl::INTEL::gpu::vector_type_t <Ty1, N1> msgDst) {
861
+ throw cl::sycl::feature_not_supported ();
862
+ return 0 ;
863
+ }
864
+
865
+ // / \brief Raw send load.
866
+ // /
867
+ // / @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
868
+ // /
869
+ // / @param execSize the execution size, which must be a compile time constant.
870
+ // /
871
+ // / @param pred the predicate to specify enabled channels.
872
+ // /
873
+ // / @param numSrc0 the number of GRFs for source-0, which must be a compile time
874
+ // / constant.
875
+ // /
876
+ // / @param numDst the number of GRFs for destination, which must be a compile
877
+ // / time constant.
878
+ // /
879
+ // / @param sfid the shared function ID, which must be a compile time constant.
880
+ // /
881
+ // / @param exDesc the extended message descriptor.
882
+ // /
883
+ // / @param msgDesc the message descriptor.
884
+ // /
885
+ // / @param msgSrc0 the first source operand of send message.
886
+ // /
887
+ // / @param msgDst the destination operand of send message.
888
+ // /
889
+ // / Returns a simd vector of type Ty1 and size N1.
890
+ // /
891
+ template <typename Ty1, int N1, typename Ty2, int N2, int N>
892
+ SYCL_EXTERNAL sycl::INTEL::gpu::vector_type_t <Ty1, N1>
893
+ __esimd_raw_send_load (uint8_t modifier, uint8_t execSize,
894
+ sycl::INTEL::gpu::vector_type_t <uint16_t , N> pred,
895
+ uint8_t numSrc0, uint8_t numDst, uint8_t sfid,
896
+ uint32_t exDesc, uint32_t msgDesc,
897
+ sycl::INTEL::gpu::vector_type_t <Ty2, N2> msgSrc0,
898
+ sycl::INTEL::gpu::vector_type_t <Ty1, N1> msgDst) {
899
+ throw cl::sycl::feature_not_supported ();
900
+ return 0 ;
901
+ }
902
+
903
+ // / \brief Raw sends store.
904
+ // /
905
+ // / @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
906
+ // /
907
+ // / @param execSize the execution size, which must be a compile time constant.
908
+ // /
909
+ // / @param pred the predicate to specify enabled channels.
910
+ // /
911
+ // / @param numSrc0 the number of GRFs for source-0, which must be a compile time
912
+ // / constant.
913
+ // /
914
+ // / @param numSrc1 the number of GRFs for source-1, which must be a compile time
915
+ // / constant.
916
+ // /
917
+ // / @param sfid the shared function ID, which must be a compile time constant.
918
+ // /
919
+ // / @param exDesc the extended message descriptor.
920
+ // /
921
+ // / @param msgDesc the message descriptor.
922
+ // /
923
+ // / @param msgSrc0 the first source operand of send message.
924
+ // /
925
+ // / @param msgSrc1 the second source operand of send message.
926
+ // /
927
+ template <typename Ty1, int N1, typename Ty2, int N2, int N>
928
+ SYCL_EXTERNAL void
929
+ __esimd_raw_sends_store (uint8_t modifier, uint8_t execSize,
930
+ sycl::INTEL::gpu::vector_type_t <uint16_t , N> pred,
931
+ uint8_t numSrc0, uint8_t numSrc1, uint8_t sfid,
932
+ uint32_t exDesc, uint32_t msgDesc,
933
+ sycl::INTEL::gpu::vector_type_t <Ty1, N1> msgSrc0,
934
+ sycl::INTEL::gpu::vector_type_t <Ty2, N2> msgSrc1) {
935
+ throw cl::sycl::feature_not_supported ();
936
+ }
937
+
938
+ // / \brief Raw send store.
939
+ // /
940
+ // / @param modifier the send message flags (Bit-0: isSendc, Bit-1: isEOT).
941
+ // /
942
+ // / @param execSize the execution size, which must be a compile time constant.
943
+ // /
944
+ // / @param pred the predicate to specify enabled channels.
945
+ // /
946
+ // / @param numSrc0 the number of GRFs for source-0, which must be a compile time
947
+ // / constant.
948
+ // /
949
+ // / @param sfid the shared function ID, which must be a compile time constant.
950
+ // /
951
+ // / @param exDesc the extended message descriptor.
952
+ // /
953
+ // / @param msgDesc the message descriptor.
954
+ // /
955
+ // / @param msgSrc0 the first source operand of send message.
956
+ // /
957
+ template <typename Ty1, int N1, int N>
958
+ SYCL_EXTERNAL void
959
+ __esimd_raw_send_store (uint8_t modifier, uint8_t execSize,
960
+ sycl::INTEL::gpu::vector_type_t <uint16_t , N> pred,
961
+ uint8_t numSrc0, uint8_t sfid, uint32_t exDesc,
962
+ uint32_t msgDesc,
963
+ sycl::INTEL::gpu::vector_type_t <Ty1, N1> msgSrc0) {
964
+ throw cl::sycl::feature_not_supported ();
965
+ }
966
+
663
967
#endif // __SYCL_DEVICE_ONLY__
0 commit comments