1 // RUN: %clang_cc1 -finclude-default-header -x hlsl -triple \
2 // RUN: dxil-pc-shadermodel6.3-library %s \
3 // RUN: -emit-llvm -disable-llvm-passes -o - | FileCheck %s \
4 // RUN: -DTARGET=dx -DFNATTRS=noundef -check-prefixes=CHECK,CHECK-DXIL
5 // RUN: %clang_cc1 -finclude-default-header -x hlsl -triple \
6 // RUN: spirv-unknown-vulkan-compute %s \
7 // RUN: -emit-llvm -disable-llvm-passes -o - | FileCheck %s \
8 // RUN: -DTARGET=spv -DFNATTRS="spir_func noundef" -check-prefixes=CHECK,CHECK-SPIRV
10 // CHECK-DXIL: define void @
11 // CHECK-SPIRV: define spir_func void @
12 void test_GroupMemoryBarrierWithGroupSync() {
13 // CHECK-DXIL: call void @llvm.[[TARGET]].group.memory.barrier.with.group.sync()
14 // CHECK-SPIRV: call spir_func void @llvm.[[TARGET]].group.memory.barrier.with.group.sync()
15 GroupMemoryBarrierWithGroupSync();
18 // CHECK: declare void @llvm.[[TARGET]].group.memory.barrier.with.group.sync() #[[ATTRS:[0-9]+]]
19 // CHECK-NOT: attributes #[[ATTRS]] = {{.+}}memory(none){{.+}}
20 // CHECK: attributes #[[ATTRS]] = {