File: vloada_halfn.spvasm

package info (click to toggle)
spirv-llvm-translator-14 14.0.11-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 15,640 kB
  • sloc: cpp: 47,664; lisp: 3,704; sh: 153; python: 43; makefile: 33
file content (102 lines) | stat: -rw-r--r-- 6,177 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
; 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 <2 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat2iPU3AS1Dh
; CHECK-SPV-IR: call spir_func <3 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat3iPU3AS1Dh
; CHECK-SPV-IR: call spir_func <4 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat4iPU3AS1Dh
; CHECK-SPV-IR: call spir_func <8 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat8iPU3AS1Dh
; CHECK-SPV-IR: call spir_func <16 x float> @_Z33__spirv_ocl_vloada_halfn_Rfloat16iPU3AS1Dh
; CHECK-SPV-IR: call spir_func <2 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat2iPU3AS3Dh
; CHECK-SPV-IR: call spir_func <3 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat3iPU3AS3Dh
; CHECK-SPV-IR: call spir_func <4 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat4iPU3AS3Dh
; CHECK-SPV-IR: call spir_func <8 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat8iPU3AS3Dh
; CHECK-SPV-IR: call spir_func <16 x float> @_Z33__spirv_ocl_vloada_halfn_Rfloat16iPU3AS3Dh
; CHECK-SPV-IR: call spir_func <2 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat2iPU3AS2Dh
; CHECK-SPV-IR: call spir_func <3 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat3iPU3AS2Dh
; CHECK-SPV-IR: call spir_func <4 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat4iPU3AS2Dh
; CHECK-SPV-IR: call spir_func <8 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat8iPU3AS2Dh
; CHECK-SPV-IR: call spir_func <16 x float> @_Z33__spirv_ocl_vloada_halfn_Rfloat16iPU3AS2Dh
; CHECK-SPV-IR: call spir_func <2 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat2iPDh
; CHECK-SPV-IR: call spir_func <3 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat3iPDh
; CHECK-SPV-IR: call spir_func <4 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat4iPDh
; CHECK-SPV-IR: call spir_func <8 x float> @_Z32__spirv_ocl_vloada_halfn_Rfloat8iPDh
; CHECK-SPV-IR: call spir_func <16 x float> @_Z33__spirv_ocl_vloada_halfn_Rfloat16iPDh
;
; CHECK-CL20: call spir_func <2 x float> @_Z12vloada_half2jPU3AS1KDh
; CHECK-CL20: call spir_func <3 x float> @_Z12vloada_half3jPU3AS1KDh
; CHECK-CL20: call spir_func <4 x float> @_Z12vloada_half4jPU3AS1KDh
; CHECK-CL20: call spir_func <8 x float> @_Z12vloada_half8jPU3AS1KDh
; CHECK-CL20: call spir_func <16 x float> @_Z13vloada_half16jPU3AS1KDh
; CHECK-CL20: call spir_func <2 x float> @_Z12vloada_half2jPU3AS3KDh
; CHECK-CL20: call spir_func <3 x float> @_Z12vloada_half3jPU3AS3KDh
; CHECK-CL20: call spir_func <4 x float> @_Z12vloada_half4jPU3AS3KDh
; CHECK-CL20: call spir_func <8 x float> @_Z12vloada_half8jPU3AS3KDh
; CHECK-CL20: call spir_func <16 x float> @_Z13vloada_half16jPU3AS3KDh
; CHECK-CL20: call spir_func <2 x float> @_Z12vloada_half2jPU3AS2KDh
; CHECK-CL20: call spir_func <3 x float> @_Z12vloada_half3jPU3AS2KDh
; CHECK-CL20: call spir_func <4 x float> @_Z12vloada_half4jPU3AS2KDh
; CHECK-CL20: call spir_func <8 x float> @_Z12vloada_half8jPU3AS2KDh
; CHECK-CL20: call spir_func <16 x float> @_Z13vloada_half16jPU3AS2KDh
; CHECK-CL20: call spir_func <2 x float> @_Z12vloada_half2jPKDh
; CHECK-CL20: call spir_func <3 x float> @_Z12vloada_half3jPKDh
; CHECK-CL20: call spir_func <4 x float> @_Z12vloada_half4jPKDh
; CHECK-CL20: call spir_func <8 x float> @_Z12vloada_half8jPKDh
; CHECK-CL20: call spir_func <16 x float> @_Z13vloada_half16jPKDh

               OpCapability Addresses
               OpCapability Kernel
               OpCapability Vector16
               OpCapability Float16Buffer
          %1 = OpExtInstImport "OpenCL.std"
               OpMemoryModel Physical32 OpenCL
               OpEntryPoint Kernel %7 "test"
         %43 = 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
    %v2float = OpTypeVector %float 2
    %v3float = OpTypeVector %float 3
    %v4float = OpTypeVector %float 4
    %v8float = OpTypeVector %float 8
   %v16float = OpTypeVector %float 16
%_ptr_UniformConstant_half = OpTypePointer UniformConstant %half
%_ptr_Function_half = OpTypePointer Function %half
         %30 = OpUndef %_ptr_UniformConstant_half
         %37 = OpUndef %_ptr_Function_half
          %7 = OpFunction %void None %6
         %pg = OpFunctionParameter %_ptr_CrossWorkgroup_half
         %pl = OpFunctionParameter %_ptr_Workgroup_half
      %entry = OpLabel
       %call = OpExtInst %v2float %1 vloada_halfn %uint_0 %pg 2
      %call1 = OpExtInst %v3float %1 vloada_halfn %uint_0 %pg 3
      %call2 = OpExtInst %v4float %1 vloada_halfn %uint_0 %pg 4
      %call3 = OpExtInst %v8float %1 vloada_halfn %uint_0 %pg 8
      %call4 = OpExtInst %v16float %1 vloada_halfn %uint_0 %pg 16
      %call5 = OpExtInst %v2float %1 vloada_halfn %uint_0 %pl 2
      %call6 = OpExtInst %v3float %1 vloada_halfn %uint_0 %pl 3
      %call7 = OpExtInst %v4float %1 vloada_halfn %uint_0 %pl 4
      %call8 = OpExtInst %v8float %1 vloada_halfn %uint_0 %pl 8
      %call9 = OpExtInst %v16float %1 vloada_halfn %uint_0 %pl 16
     %call10 = OpExtInst %v2float %1 vloada_halfn %uint_0 %30 2
     %call11 = OpExtInst %v3float %1 vloada_halfn %uint_0 %30 3
     %call12 = OpExtInst %v4float %1 vloada_halfn %uint_0 %30 4
     %call13 = OpExtInst %v8float %1 vloada_halfn %uint_0 %30 8
     %call14 = OpExtInst %v16float %1 vloada_halfn %uint_0 %30 16
     %call15 = OpExtInst %v2float %1 vloada_halfn %uint_0 %37 2
     %call16 = OpExtInst %v3float %1 vloada_halfn %uint_0 %37 3
     %call17 = OpExtInst %v4float %1 vloada_halfn %uint_0 %37 4
     %call18 = OpExtInst %v8float %1 vloada_halfn %uint_0 %37 8
     %call19 = OpExtInst %v16float %1 vloada_halfn %uint_0 %37 16
               OpReturn
               OpFunctionEnd