File: vload_half.spvasm

package info (click to toggle)
spirv-llvm-translator-15 15.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 14,028 kB
  • sloc: cpp: 43,715; lisp: 3,497; sh: 153; python: 43; makefile: 26
file content (84 lines) | stat: -rw-r--r-- 4,680 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
; REQUIRES: spirv-as
; RUN: spirv-as --target-env spv1.0 -o %t.spv %s
; RUN: spirv-val %t.spv
; RUN: llvm-spirv %t.spv -r --spirv-target-env=SPV-IR -o - | llvm-dis | FileCheck %s --check-prefixes=CHECK,CHECK-SPV-IR
; RUN: llvm-spirv %t.spv -r --spirv-target-env=CL2.0 -o - | llvm-dis | FileCheck %s --check-prefixes=CHECK,CHECK-CL20
;
; CHECK-LABEL: spir_kernel void @test
;
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS1Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS1Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS1Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS1Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS3Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS3Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS3Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS3Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS2Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS2Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS2Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPU3AS2Dh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPDh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPDh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPDh
; CHECK-SPV-IR: call spir_func float @_Z29__spirv_ocl_vload_half_RfloatiPDh
;
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS1KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS1KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS1KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS1KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS3KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS3KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS3KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS3KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS2KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS2KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS2KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPU3AS2KDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPKDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPKDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPKDh
; CHECK-CL20: call spir_func float @_Z10vload_halfjPKDh

               OpCapability Addresses
               OpCapability Kernel
               OpCapability Float16Buffer
          %1 = OpExtInstImport "OpenCL.std"
               OpMemoryModel Physical32 OpenCL
               OpEntryPoint Kernel %7 "test"
         %34 = OpString "kernel_arg_type.test.half*,half*,"
               OpSource OpenCL_C 200000
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
       %void = OpTypeVoid
       %half = OpTypeFloat 16
%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half
%_ptr_Workgroup_half = OpTypePointer Workgroup %half
          %6 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_Workgroup_half
      %float = OpTypeFloat 32
%_ptr_UniformConstant_half = OpTypePointer UniformConstant %half
%_ptr_Function_half = OpTypePointer Function %half
         %23 = OpUndef %_ptr_UniformConstant_half
         %29 = OpUndef %_ptr_Function_half
          %7 = OpFunction %void None %6
         %pg = OpFunctionParameter %_ptr_CrossWorkgroup_half
         %pl = OpFunctionParameter %_ptr_Workgroup_half
      %entry = OpLabel
       %call = OpExtInst %float %1 vload_half %uint_0 %pg
      %call1 = OpExtInst %float %1 vload_half %uint_0 %pg
      %call2 = OpExtInst %float %1 vload_half %uint_0 %pg
      %call3 = OpExtInst %float %1 vload_half %uint_0 %pg
      %call4 = OpExtInst %float %1 vload_half %uint_0 %pl
      %call5 = OpExtInst %float %1 vload_half %uint_0 %pl
      %call6 = OpExtInst %float %1 vload_half %uint_0 %pl
      %call7 = OpExtInst %float %1 vload_half %uint_0 %pl
      %call8 = OpExtInst %float %1 vload_half %uint_0 %23
      %call9 = OpExtInst %float %1 vload_half %uint_0 %23
     %call10 = OpExtInst %float %1 vload_half %uint_0 %23
     %call11 = OpExtInst %float %1 vload_half %uint_0 %23
     %call12 = OpExtInst %float %1 vload_half %uint_0 %29
     %call13 = OpExtInst %float %1 vload_half %uint_0 %29
     %call14 = OpExtInst %float %1 vload_half %uint_0 %29
     %call15 = OpExtInst %float %1 vload_half %uint_0 %29
               OpReturn
               OpFunctionEnd