1
1
; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
2
2
; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
3
- ; RUN : %if spirv-tools %{ llc -O0 -mtriple=spirv-unknown-unknown %s -o - -filetype=obj | spirv-val %}
3
+ ; RUNx : %if spirv-tools %{ llc -O0 -mtriple=spirv-unknown-unknown %s -o - -filetype=obj | spirv-val %}
4
4
5
5
define void @main () {
6
6
entry:
7
7
8
8
; CHECK-DAG: OpCapability Float16
9
9
; CHECK-DAG: OpCapability Float64
10
10
11
- ; CHECK-DAG: %[[#half:]] = OpTypeFloat 16
11
+ ; CHECK-DAG: %[[#half:]] = OpTypeFloat 16{{$}}
12
+ ; CHECK-DAG: %[[#bfloat:]] = OpTypeFloat 16 0{{$}}
12
13
; CHECK-DAG: %[[#float:]] = OpTypeFloat 32
13
14
; CHECK-DAG: %[[#double:]] = OpTypeFloat 64
14
15
15
16
; CHECK-DAG: %[[#v2half:]] = OpTypeVector %[[#half]] 2
16
17
; CHECK-DAG: %[[#v3half:]] = OpTypeVector %[[#half]] 3
17
18
; CHECK-DAG: %[[#v4half:]] = OpTypeVector %[[#half]] 4
18
19
20
+ ; CHECK-DAG: %[[#v2bfloat:]] = OpTypeVector %[[#bfloat]] 2
21
+ ; CHECK-DAG: %[[#v3bfloat:]] = OpTypeVector %[[#bfloat]] 3
22
+ ; CHECK-DAG: %[[#v4bfloat:]] = OpTypeVector %[[#bfloat]] 4
23
+
19
24
; CHECK-DAG: %[[#v2float:]] = OpTypeVector %[[#float]] 2
20
25
; CHECK-DAG: %[[#v3float:]] = OpTypeVector %[[#float]] 3
21
26
; CHECK-DAG: %[[#v4float:]] = OpTypeVector %[[#float]] 4
@@ -25,11 +30,15 @@ entry:
25
30
; CHECK-DAG: %[[#v4double:]] = OpTypeVector %[[#double]] 4
26
31
27
32
; CHECK-DAG: %[[#ptr_Function_half:]] = OpTypePointer Function %[[#half]]
33
+ ; CHECK-DAG: %[[#ptr_Function_bfloat:]] = OpTypePointer Function %[[#bfloat]]
28
34
; CHECK-DAG: %[[#ptr_Function_float:]] = OpTypePointer Function %[[#float]]
29
35
; CHECK-DAG: %[[#ptr_Function_double:]] = OpTypePointer Function %[[#double]]
30
36
; CHECK-DAG: %[[#ptr_Function_v2half:]] = OpTypePointer Function %[[#v2half]]
31
37
; CHECK-DAG: %[[#ptr_Function_v3half:]] = OpTypePointer Function %[[#v3half]]
32
38
; CHECK-DAG: %[[#ptr_Function_v4half:]] = OpTypePointer Function %[[#v4half]]
39
+ ; CHECK-DAG: %[[#ptr_Function_v2bfloat:]] = OpTypePointer Function %[[#v2bfloat]]
40
+ ; CHECK-DAG: %[[#ptr_Function_v3bfloat:]] = OpTypePointer Function %[[#v3bfloat]]
41
+ ; CHECK-DAG: %[[#ptr_Function_v4bfloat:]] = OpTypePointer Function %[[#v4bfloat]]
33
42
; CHECK-DAG: %[[#ptr_Function_v2float:]] = OpTypePointer Function %[[#v2float]]
34
43
; CHECK-DAG: %[[#ptr_Function_v3float:]] = OpTypePointer Function %[[#v3float]]
35
44
; CHECK-DAG: %[[#ptr_Function_v4float:]] = OpTypePointer Function %[[#v4float]]
40
49
; CHECK: %[[#]] = OpVariable %[[#ptr_Function_half]] Function
41
50
%half_Val = alloca half , align 2
42
51
52
+ ; CHECK: %[[#]] = OpVariable %[[#ptr_Function_bfloat]] Function
53
+ %bfloat_Val = alloca bfloat, align 2
54
+
43
55
; CHECK: %[[#]] = OpVariable %[[#ptr_Function_float]] Function
44
56
%float_Val = alloca float , align 4
45
57
@@ -55,6 +67,15 @@ entry:
55
67
; CHECK: %[[#]] = OpVariable %[[#ptr_Function_v4half]] Function
56
68
%half4_Val = alloca <4 x half >, align 8
57
69
70
+ ; CHECK: %[[#]] = OpVariable %[[#ptr_Function_v2bfloat]] Function
71
+ %bfloat2_Val = alloca <2 x bfloat>, align 4
72
+
73
+ ; CHECK: %[[#]] = OpVariable %[[#ptr_Function_v3bfloat]] Function
74
+ %bfloat3_Val = alloca <3 x bfloat>, align 8
75
+
76
+ ; CHECK: %[[#]] = OpVariable %[[#ptr_Function_v4bfloat]] Function
77
+ %bfloat4_Val = alloca <4 x bfloat>, align 8
78
+
58
79
; CHECK: %[[#]] = OpVariable %[[#ptr_Function_v2float]] Function
59
80
%float2_Val = alloca <2 x float >, align 8
60
81
0 commit comments