File: OpConstantNull.spvasm

package info (click to toggle)
spirv-llvm-translator-21 21.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,612 kB
  • sloc: cpp: 47,807; ansic: 6,283; lisp: 3,878; sh: 162; python: 58; makefile: 41
file content (46 lines) | stat: -rw-r--r-- 1,777 bytes parent folder | download | duplicates (8)
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
; REQUIRES: spirv-as
; RUN: spirv-as --target-env spv1.0 -o %t.spv %s
; RUN: spirv-val %t.spv
; RUN: llvm-spirv -r -o - %t.spv | llvm-dis | FileCheck %s
               OpCapability Addresses
               OpCapability Kernel
               OpMemoryModel Physical32 OpenCL
               OpEntryPoint Kernel %1 "testNullConstants"
       %void = OpTypeVoid
       %bool = OpTypeBool
       %uint = OpTypeInt 32 0
      %float = OpTypeFloat 32
     %boolv3 = OpTypeVector %bool 3
     %uintv3 = OpTypeVector %uint 3
    %floatv3 = OpTypeVector %float 3
          %5 = OpTypeFunction %void %bool %boolv3 %uint %uintv3 %float %floatv3
      %bool0 = OpConstantNull %bool
    %boolv30 = OpConstantNull %boolv3
      %uint0 = OpConstantNull %uint
    %uintv30 = OpConstantNull %uintv3
     %float0 = OpConstantNull %float
   %floatv30 = OpConstantNull %floatv3

          %1 = OpFunction %void None %5
         %pb = OpFunctionParameter %bool
       %pbv3 = OpFunctionParameter %boolv3
         %pu = OpFunctionParameter %uint
       %puv3 = OpFunctionParameter %uintv3
         %pf = OpFunctionParameter %float
       %pfv3 = OpFunctionParameter %floatv3
      %entry = OpLabel
         %tb = OpLogicalEqual %bool %pb %bool0
       %tbv3 = OpLogicalEqual %boolv3 %pbv3 %boolv30
         %tu = OpIEqual %bool %pu %uint0
       %tuv3 = OpIEqual %boolv3 %puv3 %uintv30
         %tf = OpFOrdEqual %bool %pf %float0
       %tfv3 = OpFOrdEqual %boolv3 %pfv3 %floatv30
               OpReturn
               OpFunctionEnd

; CHECK: icmp eq i1 %[[#]], false
; CHECK: icmp eq <3 x i1> %[[#]], zeroinitializer
; CHECK: icmp eq i32 %[[#]], 0
; CHECK: icmp eq <3 x i32> %[[#]], zeroinitializer
; CHECK: fcmp oeq float %[[#]], 0.000000e+00
; CHECK: fcmp oeq <3 x float> %[[#]], zeroinitializer