Skip to content

Commit b09acde

Browse files
dklochkov-embCopilot
andauthored
[SYCL] Implement sycl_ext_oneapi_fp8 for CRI (#21568)
This PR adds FP8 types for CRI [docs](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/proposed/sycl_ext_oneapi_fp8.asciidoc). It adds the first part which includes: 1. Initial implementation 2. Unit tests which check expected behavior and values 3. Unit tests which check the fact of builtin calls. 4. E2E tests of all 3 data types: fp8_e4m3, fp8_e5m2 and fp8_e8m0 --------- Co-authored-by: Copilot <copilot@github.com>
1 parent efcbf08 commit b09acde

16 files changed

Lines changed: 6584 additions & 1 deletion

File tree

llvm/lib/SYCLPostLink/ModuleSplitter.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ bool isSpirvSyclBuiltin(StringRef FName) {
9393
// now skip the digits
9494
FName = FName.drop_while([](char C) { return std::isdigit(C); });
9595

96-
return FName.starts_with("__spirv_") || FName.starts_with("__sycl_");
96+
return FName.starts_with("__spirv_") || FName.starts_with("__sycl_") ||
97+
FName.starts_with("__builtin_spirv_");
9798
}
9899

99100
// Return true if the function is a ESIMD builtin

llvm/test/tools/sycl-post-link/sycl-external-funcs/drop-known-builtins.ll

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,19 @@ define dso_local spir_func void @_Z33__sXcl_getScalarSpecConstantValue() #0 {
2424
ret void
2525
}
2626

27+
define dso_local spir_func void @_Z29__builtin_spirv_foo() #0 {
28+
ret void
29+
}
30+
define dso_local spir_func void @_Z29__builtin_spXrv_foo() #0 {
31+
ret void
32+
}
33+
2734
attributes #0 = { "sycl-module-id"="a.cpp" }
2835

2936
; CHECK-NOT: define dso_local spir_func void @_Z28__spirv_GlobalInvocationId_xv()
3037
; CHECK-NOT: define dso_local spir_func void @_Z33__sycl_getScalarSpecConstantValue()
38+
; CHECK-NOT: define dso_local spir_func void @_Z29__builtin_spirv_foo()
3139

3240
; CHECK-DAG: define dso_local spir_func void @_Z28__spXrv_GlobalInvocationId_xv()
3341
; CHECK-DAG: define dso_local spir_func void @_Z33__sXcl_getScalarSpecConstantValue()
42+
; CHECK-DAG: define dso_local spir_func void @_Z29__builtin_spXrv_foo()

0 commit comments

Comments
 (0)