11; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
22; 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 %}
44
55define void @main () {
66entry:
77
88; CHECK-DAG: OpCapability Float16
99; CHECK-DAG: OpCapability Float64
1010
11- ; CHECK-DAG: %[[#half:]] = OpTypeFloat 16
11+ ; CHECK-DAG: %[[#half:]] = OpTypeFloat 16{{$}}
12+ ; CHECK-DAG: %[[#bfloat:]] = OpTypeFloat 16 0{{$}}
1213; CHECK-DAG: %[[#float:]] = OpTypeFloat 32
1314; CHECK-DAG: %[[#double:]] = OpTypeFloat 64
1415
1516; CHECK-DAG: %[[#v2half:]] = OpTypeVector %[[#half]] 2
1617; CHECK-DAG: %[[#v3half:]] = OpTypeVector %[[#half]] 3
1718; CHECK-DAG: %[[#v4half:]] = OpTypeVector %[[#half]] 4
1819
20+ ; CHECK-DAG: %[[#v2bfloat:]] = OpTypeVector %[[#bfloat]] 2
21+ ; CHECK-DAG: %[[#v3bfloat:]] = OpTypeVector %[[#bfloat]] 3
22+ ; CHECK-DAG: %[[#v4bfloat:]] = OpTypeVector %[[#bfloat]] 4
23+
1924; CHECK-DAG: %[[#v2float:]] = OpTypeVector %[[#float]] 2
2025; CHECK-DAG: %[[#v3float:]] = OpTypeVector %[[#float]] 3
2126; CHECK-DAG: %[[#v4float:]] = OpTypeVector %[[#float]] 4
@@ -25,11 +30,15 @@ entry:
2530; CHECK-DAG: %[[#v4double:]] = OpTypeVector %[[#double]] 4
2631
2732; CHECK-DAG: %[[#ptr_Function_half:]] = OpTypePointer Function %[[#half]]
33+ ; CHECK-DAG: %[[#ptr_Function_bfloat:]] = OpTypePointer Function %[[#bfloat]]
2834; CHECK-DAG: %[[#ptr_Function_float:]] = OpTypePointer Function %[[#float]]
2935; CHECK-DAG: %[[#ptr_Function_double:]] = OpTypePointer Function %[[#double]]
3036; CHECK-DAG: %[[#ptr_Function_v2half:]] = OpTypePointer Function %[[#v2half]]
3137; CHECK-DAG: %[[#ptr_Function_v3half:]] = OpTypePointer Function %[[#v3half]]
3238; 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]]
3342; CHECK-DAG: %[[#ptr_Function_v2float:]] = OpTypePointer Function %[[#v2float]]
3443; CHECK-DAG: %[[#ptr_Function_v3float:]] = OpTypePointer Function %[[#v3float]]
3544; CHECK-DAG: %[[#ptr_Function_v4float:]] = OpTypePointer Function %[[#v4float]]
4049; CHECK: %[[#]] = OpVariable %[[#ptr_Function_half]] Function
4150 %half_Val = alloca half , align 2
4251
52+ ; CHECK: %[[#]] = OpVariable %[[#ptr_Function_bfloat]] Function
53+ %bfloat_Val = alloca bfloat, align 2
54+
4355; CHECK: %[[#]] = OpVariable %[[#ptr_Function_float]] Function
4456 %float_Val = alloca float , align 4
4557
@@ -55,6 +67,15 @@ entry:
5567; CHECK: %[[#]] = OpVariable %[[#ptr_Function_v4half]] Function
5668 %half4_Val = alloca <4 x half >, align 8
5769
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+
5879; CHECK: %[[#]] = OpVariable %[[#ptr_Function_v2float]] Function
5980 %float2_Val = alloca <2 x float >, align 8
6081
0 commit comments