1 ;; Test where src and dst have cases of a switch in different order. 2 OpCapability Shader 3 %1 = OpExtInstImport "GLSL.std.450" 4 OpMemoryModel Logical GLSL450 5 OpEntryPoint GLCompute %4 "main" 6 OpExecutionMode %4 LocalSize 1 1 1 7 OpSource ESSL 310 8 OpName %4 "main" 9 OpName %7 "BufferIn" 10 OpMemberName %7 0 "i" 11 OpName %9 "" 12 OpName %23 "BufferOut" 13 OpMemberName %23 0 "o" 14 OpName %25 "" 15 OpMemberDecorate %7 0 Offset 0 16 OpDecorate %7 Block 17 OpDecorate %9 DescriptorSet 0 18 OpDecorate %9 Binding 0 19 OpMemberDecorate %23 0 Offset 0 20 OpDecorate %23 BufferBlock 21 OpDecorate %25 DescriptorSet 0 22 OpDecorate %25 Binding 1 23 %2 = OpTypeVoid 24 %3 = OpTypeFunction %2 25 %6 = OpTypeInt 32 0 26 %7 = OpTypeStruct %6 27 %8 = OpTypePointer Uniform %7 28 %9 = OpVariable %8 Uniform 29 %10 = OpTypeInt 32 1 30 %11 = OpConstant %10 0 31 %12 = OpTypePointer Uniform %6 32 %23 = OpTypeStruct %6 33 %24 = OpTypePointer Uniform %23 34 %25 = OpVariable %24 Uniform 35 %28 = OpConstant %10 1 36 %34 = OpConstant %6 2 37 %52 = OpConstant %6 1 38 %4 = OpFunction %2 None %3 39 %5 = OpLabel 40 %13 = OpAccessChain %12 %9 %11 41 %14 = OpLoad %6 %13 42 OpSelectionMerge %22 None 43 OpSwitch %14 %21 0 %15 1 %16 2 %17 3 %18 4 %19 5 %20 44 %21 = OpLabel 45 %54 = OpAccessChain %12 %25 %11 46 %55 = OpLoad %6 %54 47 %56 = OpIAdd %6 %55 %34 48 %57 = OpAccessChain %12 %25 %11 49 OpStore %57 %56 50 OpBranch %22 51 %15 = OpLabel 52 %26 = OpAccessChain %12 %25 %11 53 %27 = OpLoad %6 %26 54 %29 = OpIAdd %6 %27 %28 55 OpStore %26 %29 56 OpBranch %22 57 %16 = OpLabel 58 %31 = OpAccessChain %12 %25 %11 59 %32 = OpLoad %6 %31 60 %33 = OpISub %6 %32 %28 61 OpStore %31 %33 62 OpBranch %17 63 %17 = OpLabel 64 %35 = OpAccessChain %12 %25 %11 65 %36 = OpLoad %6 %35 66 %37 = OpIMul %6 %36 %34 67 %38 = OpAccessChain %12 %25 %11 68 OpStore %38 %37 69 OpBranch %22 70 %18 = OpLabel 71 %40 = OpAccessChain %12 %25 %11 72 %41 = OpLoad %6 %40 73 %42 = OpUDiv %6 %41 %34 74 %43 = OpAccessChain %12 %25 %11 75 OpStore %43 %42 76 OpBranch %22 77 %19 = OpLabel 78 %45 = OpAccessChain %12 %25 %11 79 %46 = OpLoad %6 %45 80 %47 = OpAccessChain %12 %25 %11 81 %48 = OpLoad %6 %47 82 %49 = OpIMul %6 %46 %48 83 %50 = OpAccessChain %12 %25 %11 84 OpStore %50 %49 85 OpBranch %22 86 %20 = OpLabel 87 %53 = OpAccessChain %12 %25 %11 88 OpStore %53 %52 89 OpBranch %21 90 %22 = OpLabel 91 OpReturn 92 OpFunctionEnd 93