aboutsummaryrefslogtreecommitdiffhomepage
path: root/ptx/src/test/spirv_run/extern_func.spvtxt
diff options
context:
space:
mode:
Diffstat (limited to 'ptx/src/test/spirv_run/extern_func.spvtxt')
-rw-r--r--ptx/src/test/spirv_run/extern_func.spvtxt75
1 files changed, 75 insertions, 0 deletions
diff --git a/ptx/src/test/spirv_run/extern_func.spvtxt b/ptx/src/test/spirv_run/extern_func.spvtxt
new file mode 100644
index 0000000..b757029
--- /dev/null
+++ b/ptx/src/test/spirv_run/extern_func.spvtxt
@@ -0,0 +1,75 @@
+ OpCapability GenericPointer
+ OpCapability Linkage
+ OpCapability Addresses
+ OpCapability Kernel
+ OpCapability Int8
+ OpCapability Int16
+ OpCapability Int64
+ OpCapability Float16
+ OpCapability Float64
+ OpCapability DenormFlushToZero
+ %31 = OpExtInstImport "OpenCL.std"
+ OpMemoryModel Physical64 OpenCL
+ OpEntryPoint Kernel %4 "extern_func"
+ OpExecutionMode %4 ContractionOff
+ OpDecorate %1 LinkageAttributes "foobar" Import
+ OpDecorate %12 Alignment 16
+ OpDecorate %4 LinkageAttributes "extern_func" Export
+ %void = OpTypeVoid
+ %ulong = OpTypeInt 64 0
+%_ptr_Function_ulong = OpTypePointer Function %ulong
+ %uint = OpTypeInt 32 0
+ %uchar = OpTypeInt 8 0
+ %uint_16 = OpConstant %uint 16
+%_arr_uchar_uint_16 = OpTypeArray %uchar %uint_16
+%_ptr_Function__arr_uchar_uint_16 = OpTypePointer Function %_arr_uchar_uint_16
+ %40 = OpTypeFunction %void %_ptr_Function_ulong %_ptr_Function__arr_uchar_uint_16
+ %uint_16_0 = OpConstant %uint 16
+ %42 = OpTypeFunction %void %ulong %ulong
+ %uint_16_1 = OpConstant %uint 16
+%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
+ %ulong_0 = OpConstant %ulong 0
+%_ptr_Function_uchar = OpTypePointer Function %uchar
+%_ptr_Generic_ulong = OpTypePointer Generic %ulong
+ %1 = OpFunction %void None %40
+ %3 = OpFunctionParameter %_ptr_Function_ulong
+ %2 = OpFunctionParameter %_ptr_Function__arr_uchar_uint_16
+ OpFunctionEnd
+ %4 = OpFunction %void None %42
+ %13 = OpFunctionParameter %ulong
+ %14 = OpFunctionParameter %ulong
+ %29 = OpLabel
+ %5 = OpVariable %_ptr_Function_ulong Function
+ %6 = OpVariable %_ptr_Function_ulong Function
+ %7 = OpVariable %_ptr_Function_ulong Function
+ %8 = OpVariable %_ptr_Function_ulong Function
+ %9 = OpVariable %_ptr_Function_ulong Function
+ %10 = OpVariable %_ptr_Function_ulong Function
+ %11 = OpVariable %_ptr_Function_ulong Function
+ %12 = OpVariable %_ptr_Function__arr_uchar_uint_16 Function
+ OpStore %5 %13
+ OpStore %6 %14
+ %15 = OpLoad %ulong %5 Aligned 8
+ OpStore %7 %15
+ %16 = OpLoad %ulong %6 Aligned 8
+ OpStore %8 %16
+ %18 = OpLoad %ulong %7
+ %25 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %18
+ %17 = OpLoad %ulong %25 Aligned 8
+ OpStore %9 %17
+ %19 = OpLoad %ulong %9
+ %46 = OpBitcast %_ptr_Function_uchar %11
+ %47 = OpInBoundsPtrAccessChain %_ptr_Function_uchar %46 %ulong_0
+ %24 = OpBitcast %_ptr_Function_ulong %47
+ %26 = OpCopyObject %ulong %19
+ OpStore %24 %26 Aligned 8
+ %48 = OpFunctionCall %void %1 %11 %12
+ %27 = OpBitcast %_ptr_Function_ulong %12
+ %20 = OpLoad %ulong %27 Aligned 8
+ OpStore %10 %20
+ %21 = OpLoad %ulong %8
+ %22 = OpLoad %ulong %10
+ %28 = OpConvertUToPtr %_ptr_Generic_ulong %21
+ OpStore %28 %22 Aligned 8
+ OpReturn
+ OpFunctionEnd \ No newline at end of file