1 ; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
3 define spir_kernel void @test_two_switch_same_register(i32 %value) {
4 ; CHECK-SPIRV: OpSwitch %[[#REGISTER:]] %[[#DEFAULT1:]] 1 %[[#CASE1:]] 0 %[[#CASE2:]]
5 switch i32 %value, label %default1 [
10 ; CHECK-SPIRV: %[[#CASE1]] = OpLabel
12 ; CHECK-SPIRV-NEXT: OpBranch %[[#DEFAULT1]]
15 ; CHECK-SPIRV: %[[#CASE2]] = OpLabel
17 ; CHECK-SPIRV-NEXT: OpBranch %[[#DEFAULT1]]
20 ; CHECK-SPIRV: %[[#DEFAULT1]] = OpLabel
22 ; CHECK-SPIRV-NEXT: OpSwitch %[[#REGISTER]] %[[#DEFAULT2:]] 0 %[[#CASE3:]] 1 %[[#CASE4:]]
23 switch i32 %value, label %default2 [
28 ; CHECK-SPIRV: %[[#CASE3]] = OpLabel
30 ; CHECK-SPIRV-NEXT: OpBranch %[[#DEFAULT2]]
33 ; CHECK-SPIRV: %[[#CASE4]] = OpLabel
35 ; CHECK-SPIRV-NEXT: OpBranch %[[#DEFAULT2]]
38 ; CHECK-SPIRV: %[[#DEFAULT2]] = OpLabel
40 ; CHECK-SPIRV-NEXT: OpReturn