1- ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown --spirv-ext=+SPV_INTEL_blocking_pipes %s -o - | FileCheck %s --check-prefixes=CHECK-SPIRV
2- ; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_INTEL_blocking_pipes %s -o - -filetype=obj | spirv-val %}
1+ ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown --spirv-ext=+SPV_ALTERA_blocking_pipes %s -o - | FileCheck %s --check-prefixes=CHECK-SPIRV
2+ ; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_ALTERA_blocking_pipes %s -o - -filetype=obj | spirv-val %}
33
44%opencl.pipe_ro_t = type opaque
55%opencl.pipe_wo_t = type opaque
66
7- ; CHECK-SPIRV: OpCapability BlockingPipesINTEL
8- ; CHECK-SPIRV: OpExtension "SPV_INTEL_blocking_pipes "
7+ ; CHECK-SPIRV: OpCapability BlockingPipesALTERA
8+ ; CHECK-SPIRV: OpExtension "SPV_ALTERA_blocking_pipes "
99; CHECK-SPIRV: %[[PipeRTy:[0-9]+]] = OpTypePipe ReadOnly
1010; CHECK-SPIRV: %[[PipeWTy:[0-9]+]] = OpTypePipe WriteOnly
1111; CHECK-SPIRV: %[[PipeR1:[0-9]+]] = OpLoad %[[PipeRTy]] %[[#]] Aligned 8
12- ; CHECK-SPIRV: OpReadPipeBlockingINTEL %[[PipeR1]] %[[#]] %[[#]] %[[#]]
12+ ; CHECK-SPIRV: OpReadPipeBlockingALTERA %[[PipeR1]] %[[#]] %[[#]] %[[#]]
1313; CHECK-SPIRV: %[[PipeR2:[0-9]+]] = OpLoad %[[PipeRTy]] %[[#]] Aligned 8
14- ; CHECK-SPIRV: OpReadPipeBlockingINTEL %[[PipeR2]] %[[#]] %[[#]] %[[#]]
14+ ; CHECK-SPIRV: OpReadPipeBlockingALTERA %[[PipeR2]] %[[#]] %[[#]] %[[#]]
1515; CHECK-SPIRV: %[[PipeW1:[0-9]+]] = OpLoad %[[PipeWTy]] %[[#]] Aligned 8
16- ; CHECK-SPIRV: OpWritePipeBlockingINTEL %[[PipeW1]] %[[#]] %[[#]] %[[#]]
16+ ; CHECK-SPIRV: OpWritePipeBlockingALTERA %[[PipeW1]] %[[#]] %[[#]] %[[#]]
1717; CHECK-SPIRV: %[[PipeW2:[0-9]+]] = OpLoad %[[PipeWTy]] %[[#]] Aligned 8
18- ; CHECK-SPIRV: OpWritePipeBlockingINTEL %[[PipeW2]] %[[#]] %[[#]] %[[#]]
18+ ; CHECK-SPIRV: OpWritePipeBlockingALTERA %[[PipeW2]] %[[#]] %[[#]] %[[#]]
1919
20-
21- ; Function Attrs: convergent noinline nounwind optnone
22- define spir_func void @foo (target ("spirv.Pipe" , 0 ) %p , ptr addrspace (1 ) %ptr ) #0 {
20+ define spir_func void @foo (target ("spirv.Pipe" , 0 ) %p , ptr addrspace (1 ) %ptr ) {
2321entry:
2422 %p.addr = alloca target ("spirv.Pipe" , 0 ), align 8
2523 %ptr.addr = alloca ptr addrspace (1 ), align 8
3432
3533declare dso_local spir_func void @_Z29__spirv_ReadPipeBlockingINTELIiEv8ocl_pipePiii (target ("spirv.Pipe" , 0 ), ptr addrspace (4 ), i32 , i32 )
3634
37- ; Function Attrs: convergent noinline nounwind optnone
38- define spir_func void @bar (target ("spirv.Pipe" , 0 ) %p , ptr addrspace (1 ) %ptr ) #0 {
35+ define spir_func void @bar (target ("spirv.Pipe" , 0 ) %p , ptr addrspace (1 ) %ptr ) {
3936entry:
4037 %p.addr = alloca target ("spirv.Pipe" , 0 ), align 8
4138 %ptr.addr = alloca ptr addrspace (1 ), align 8
5047
5148declare dso_local spir_func void @_Z29__spirv_ReadPipeBlockingINTELIiEv8ocl_pipePvii (target ("spirv.Pipe" , 0 ), ptr addrspace (4 ), i32 , i32 )
5249
53- ; Function Attrs: convergent noinline nounwind optnone
54- define spir_func void @boo (target ("spirv.Pipe" , 1 ) %p , ptr addrspace (1 ) %ptr ) #0 {
50+ define spir_func void @boo (target ("spirv.Pipe" , 1 ) %p , ptr addrspace (1 ) %ptr ) {
5551entry:
5652 %p.addr = alloca target ("spirv.Pipe" , 1 ), align 8
5753 %ptr.addr = alloca ptr addrspace (1 ), align 8
6662
6763declare dso_local spir_func void @_Z30__spirv_WritePipeBlockingINTELIKiEv8ocl_pipePiii (target ("spirv.Pipe" , 1 ), ptr addrspace (4 ), i32 , i32 )
6864
69- ; Function Attrs: convergent noinline nounwind optnone
70- define spir_func void @baz (target ("spirv.Pipe" , 1 ) %p , ptr addrspace (1 ) %ptr ) #0 {
65+ define spir_func void @baz (target ("spirv.Pipe" , 1 ) %p , ptr addrspace (1 ) %ptr ) {
7166entry:
7267 %p.addr = alloca target ("spirv.Pipe" , 1 ), align 8
7368 %ptr.addr = alloca ptr addrspace (1 ), align 8
@@ -85,7 +80,6 @@ declare dso_local spir_func void @_Z30__spirv_WritePipeBlockingINTELIKiEv8ocl_pi
8580; CHECK-LLVM: declare spir_func void @__read_pipe_2_bl(ptr addrspace(1), ptr addrspace(4), i32, i32)
8681; CHECK-LLVM: declare spir_func void @__write_pipe_2_bl(ptr addrspace(1), ptr addrspace(4), i32, i32)
8782
88- ; Function Attrs: convergent mustprogress norecurse nounwind
8983define linkonce_odr dso_local spir_func void @WritePipeBLockingi9Pointer (ptr addrspace (4 ) align 2 dereferenceable (2 ) %_Data ) {
9084entry:
9185 %_Data.addr = alloca ptr addrspace (4 ), align 8
@@ -101,15 +95,4 @@ entry:
10195}
10296
10397declare dso_local spir_func void @_Z30__spirv_WritePipeBlockingINTELIDU9_Ev8ocl_pipePKT_ii (target ("spirv.Pipe" , 1 ), ptr addrspace (4 ), i32 , i32 )
104-
105- attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math" ="false" "denorms-are-zero" ="false" "disable-tail-calls" ="false" "less-precise-fpmad" ="false" "min-legal-vector-width" ="0" "no-frame-pointer-elim" ="false" "no-infs-fp-math" ="false" "no-jump-tables" ="false" "no-nans-fp-math" ="false" "no-signed-zeros-fp-math" ="false" "no-trapping-math" ="false" "stack-protector-buffer-size" ="8" "unsafe-fp-math" ="false" "use-soft-float" ="false" }
106-
107- !llvm.module.flags = !{!0 }
108- !opencl.ocl.version = !{!1 }
109- !opencl.spir.version = !{!1 }
110- !llvm.ident = !{!2 }
111-
112- !0 = !{i32 1 , !"wchar_size" , i32 4 }
113- !1 = !{i32 2 , i32 0 }
114- !2 = !{!"clang version 9.0.0 (https://github.com/MrSidims/llvm.git c627b787284c5bcc917ea9742908baa1b856e176)" }
11598
0 commit comments