Skip to content

Commit 39ac038

Browse files
[ESIMD] Lower __esimd_lane_id intrinsics (#3661)
* [ESIMD] Lower __esimd_lane_id intrinsics This patch is one of the few patches to provide a functionality to reuse existing scalar function implementations in a vector context.
1 parent a0099a5 commit 39ac038

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

llvm/lib/SYCLLowerIR/LowerESIMD.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ class ESIMDIntrinDescTable {
383383
{"ssdp4a_sat", {"ssdp4a.sat", {a(0), a(1), a(2)}}},
384384
{"any", {"any", {ai1(0)}}},
385385
{"all", {"all", {ai1(0)}}},
386-
};
386+
{"lane_id", {"lane.id", {}}}};
387387
}
388388

389389
const IntrinTable &getTable() { return Table; }

llvm/test/SYCLLowerIR/esimd_lower_intrins.ll

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,15 @@ define dso_local spir_func void @FUNC_45() {
320320

321321
declare void @llvm.assume(i1 noundef)
322322

323+
define dso_local i32 @FUNC_46() {
324+
; CHECK-LABEL: FUNC_46
325+
; CHECK: %{{[0-9a-zA-Z_.]+}} = call i32 @llvm.genx.lane.id()
326+
%call = call i32 @_Z15__esimd_lane_idv()
327+
ret i32 %call
328+
}
329+
330+
declare dso_local i32 @_Z15__esimd_lane_idv()
331+
323332
declare dso_local spir_func <32 x i32> @_Z20__esimd_flat_atomic0ILN2cm3gen14CmAtomicOpTypeE2EjLi32ELNS1_9CacheHintE0ELS3_0EENS1_13__vector_typeIT0_XT1_EE4typeENS4_IyXT1_EE4typeENS4_ItXT1_EE4typeE(<32 x i64> %0, <32 x i16> %1)
324333
declare dso_local spir_func <32 x i32> @_Z20__esimd_flat_atomic1ILN2cm3gen14CmAtomicOpTypeE0EjLi32ELNS1_9CacheHintE0ELS3_0EENS1_13__vector_typeIT0_XT1_EE4typeENS4_IyXT1_EE4typeES7_NS4_ItXT1_EE4typeE(<32 x i64> %0, <32 x i32> %1, <32 x i16> %2)
325334
declare dso_local spir_func <32 x i32> @_Z20__esimd_flat_atomic2ILN2cm3gen14CmAtomicOpTypeE7EjLi32ELNS1_9CacheHintE0ELS3_0EENS1_13__vector_typeIT0_XT1_EE4typeENS4_IyXT1_EE4typeES7_S7_NS4_ItXT1_EE4typeE(<32 x i64> %0, <32 x i32> %1, <32 x i32> %2, <32 x i16> %3)

0 commit comments

Comments
 (0)