|
| 1 | +; RUN: llvm-as < %s -o %t.bc |
| 2 | +; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_INTEL_subgroup_requirements -o %t.spv |
| 3 | +; RUN: llvm-spirv %t.spv -to-text -o %t.spt |
| 4 | +; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV |
| 5 | + |
| 6 | +; RUN: llvm-spirv -r %t.spv -o %t.rev.bc |
| 7 | +; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM |
| 8 | + |
| 9 | +; RUN: llvm-spirv %t.bc -o %t2.spv |
| 10 | +; RUN: llvm-spirv %t2.spv -to-text -o %t2.spt |
| 11 | +; RUN: FileCheck < %t2.spt %s --check-prefix=CHECK-SPIRV-2 |
| 12 | + |
| 13 | +; RUN: llvm-spirv -r %t2.spv -o %t2.rev.bc |
| 14 | +; RUN: llvm-dis < %t2.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM |
| 15 | + |
| 16 | +; CHECK-SPIRV: Capability SubgroupRequirementsINTEL |
| 17 | +; CHECK-SPIRV: Extension "SPV_INTEL_subgroup_requirements" |
| 18 | +; CHECK-SPIRV: EntryPoint 6 [[kernel:[0-9]+]] "_ZTSZ4mainE7Kernel1" |
| 19 | +; CHECK-SPIRV: ExecutionMode [[kernel]] 6446 0 |
| 20 | + |
| 21 | +; CHECK-LLVM: spir_kernel void @_ZTSZ4mainE7Kernel1() {{.*}} !intel_reqd_sub_group_size ![[MD:[0-9]+]] |
| 22 | +; CHECK-LLVM: ![[MD]] = !{i32 0} |
| 23 | + |
| 24 | +; CHECK-SPIRV-2-NOT: Capability SubgroupRequirementsINTEL |
| 25 | +; CHECK-SPIRV-2-NOT: Extension "SPV_INTEL_subgroup_requirements" |
| 26 | +; CHECK-SPIRV-2: EntryPoint 6 [[kernel:[0-9]+]] "_ZTSZ4mainE7Kernel1" |
| 27 | +; CHECK-SPIRV-2: ExecutionMode [[kernel]] 35 0 |
| 28 | + |
| 29 | +target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64" |
| 30 | +target triple = "spir64-unknown-unknown" |
| 31 | + |
| 32 | +$_ZTSZ4mainE7Kernel1 = comdat any |
| 33 | + |
| 34 | +; Function Attrs: mustprogress norecurse nounwind |
| 35 | +define weak_odr dso_local spir_kernel void @_ZTSZ4mainE7Kernel1() local_unnamed_addr #0 comdat !srcloc !5 !kernel_arg_buffer_location !6 !sycl_fixed_targets !6 !sycl_kernel_omit_args !6 !intel_reqd_sub_group_size !7 { |
| 36 | +entry: |
| 37 | + ret void |
| 38 | +} |
| 39 | + |
| 40 | +attributes #0 = { mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="ex.cpp" "sycl-optlevel"="2" "sycl-sub-group-size"="0" "uniform-work-group-size"="true" } |
| 41 | + |
| 42 | +!llvm.module.flags = !{!0, !1} |
| 43 | +!opencl.spir.version = !{!2} |
| 44 | +!spirv.Source = !{!3} |
| 45 | +!llvm.ident = !{!4} |
| 46 | + |
| 47 | +!0 = !{i32 1, !"wchar_size", i32 4} |
| 48 | +!1 = !{i32 7, !"frame-pointer", i32 2} |
| 49 | +!2 = !{i32 1, i32 2} |
| 50 | +!3 = !{i32 4, i32 100000} |
| 51 | +!4 = !{!"clang version 18.0.0git (/ws/llvm/clang 8fd29b3c2aa9f9ce163be557b51de39c95aaf230)"} |
| 52 | +!5 = !{i32 358} |
| 53 | +!6 = !{} |
| 54 | +!7 = !{i32 0} |
0 commit comments