// GENERATED FILE - DO NOT EDIT.
// Generated by generate_tests.py
//
// Copyright (c) 2022 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "../diff_test_utils.h"

#include "gtest/gtest.h"

namespace spvtools {
namespace diff {
namespace {

// Test where src and dst have cases of a switch in different order.
constexpr char kSrc[] = R"(               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %4 "main"
               OpExecutionMode %4 LocalSize 1 1 1
               OpSource ESSL 310
               OpName %4 "main"
               OpName %7 "BufferIn"
               OpMemberName %7 0 "i"
               OpName %9 ""
               OpName %23 "BufferOut"
               OpMemberName %23 0 "o"
               OpName %25 ""
               OpMemberDecorate %7 0 Offset 0
               OpDecorate %7 Block
               OpDecorate %9 DescriptorSet 0
               OpDecorate %9 Binding 0
               OpMemberDecorate %23 0 Offset 0
               OpDecorate %23 BufferBlock
               OpDecorate %25 DescriptorSet 0
               OpDecorate %25 Binding 1
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 0
          %7 = OpTypeStruct %6
          %8 = OpTypePointer Uniform %7
          %9 = OpVariable %8 Uniform
         %10 = OpTypeInt 32 1
         %11 = OpConstant %10 0
         %12 = OpTypePointer Uniform %6
         %23 = OpTypeStruct %6
         %24 = OpTypePointer Uniform %23
         %25 = OpVariable %24 Uniform
         %28 = OpConstant %10 1
         %34 = OpConstant %6 2
         %52 = OpConstant %6 1
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %13 = OpAccessChain %12 %9 %11
         %14 = OpLoad %6 %13
               OpSelectionMerge %22 None
               OpSwitch %14 %21 0 %15 1 %16 2 %17 3 %18 4 %19 5 %20
         %21 = OpLabel
         %54 = OpAccessChain %12 %25 %11
         %55 = OpLoad %6 %54
         %56 = OpIAdd %6 %55 %34
         %57 = OpAccessChain %12 %25 %11
               OpStore %57 %56
               OpBranch %22
         %15 = OpLabel
         %26 = OpAccessChain %12 %25 %11
         %27 = OpLoad %6 %26
         %29 = OpIAdd %6 %27 %28
               OpStore %26 %29
               OpBranch %22
         %16 = OpLabel
         %31 = OpAccessChain %12 %25 %11
         %32 = OpLoad %6 %31
         %33 = OpISub %6 %32 %28
               OpStore %31 %33
               OpBranch %17
         %17 = OpLabel
         %35 = OpAccessChain %12 %25 %11
         %36 = OpLoad %6 %35
         %37 = OpIMul %6 %36 %34
         %38 = OpAccessChain %12 %25 %11
               OpStore %38 %37
               OpBranch %22
         %18 = OpLabel
         %40 = OpAccessChain %12 %25 %11
         %41 = OpLoad %6 %40
         %42 = OpUDiv %6 %41 %34
         %43 = OpAccessChain %12 %25 %11
               OpStore %43 %42
               OpBranch %22
         %19 = OpLabel
         %45 = OpAccessChain %12 %25 %11
         %46 = OpLoad %6 %45
         %47 = OpAccessChain %12 %25 %11
         %48 = OpLoad %6 %47
         %49 = OpIMul %6 %46 %48
         %50 = OpAccessChain %12 %25 %11
               OpStore %50 %49
               OpBranch %22
         %20 = OpLabel
         %53 = OpAccessChain %12 %25 %11
               OpStore %53 %52
               OpBranch %21
         %22 = OpLabel
               OpReturn
               OpFunctionEnd)";
constexpr char kDst[] = R"(               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %4 "main"
               OpExecutionMode %4 LocalSize 1 1 1
               OpSource ESSL 310
               OpName %4 "main"
               OpName %7 "BufferIn"
               OpMemberName %7 0 "i"
               OpName %9 ""
               OpName %23 "BufferOut"
               OpMemberName %23 0 "o"
               OpName %25 ""
               OpMemberDecorate %7 0 Offset 0
               OpDecorate %7 Block
               OpDecorate %9 DescriptorSet 0
               OpDecorate %9 Binding 0
               OpMemberDecorate %23 0 Offset 0
               OpDecorate %23 BufferBlock
               OpDecorate %25 DescriptorSet 0
               OpDecorate %25 Binding 1
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 0
          %7 = OpTypeStruct %6
          %8 = OpTypePointer Uniform %7
          %9 = OpVariable %8 Uniform
         %10 = OpTypeInt 32 1
         %11 = OpConstant %10 0
         %12 = OpTypePointer Uniform %6
         %23 = OpTypeStruct %6
         %24 = OpTypePointer Uniform %23
         %25 = OpVariable %24 Uniform
         %28 = OpConstant %10 1
         %34 = OpConstant %6 2
         %52 = OpConstant %6 1
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %13 = OpAccessChain %12 %9 %11
         %14 = OpLoad %6 %13
               OpSelectionMerge %22 None
               OpSwitch %14 %21 0 %15 1 %16 2 %17 3 %18 4 %19 5 %20
         %17 = OpLabel
         %35 = OpAccessChain %12 %25 %11
         %36 = OpLoad %6 %35
         %37 = OpIMul %6 %36 %34
         %38 = OpAccessChain %12 %25 %11
               OpStore %38 %37
               OpBranch %22
         %18 = OpLabel
         %40 = OpAccessChain %12 %25 %11
         %41 = OpLoad %6 %40
         %42 = OpUDiv %6 %41 %34
         %43 = OpAccessChain %12 %25 %11
               OpStore %43 %42
               OpBranch %22
         %21 = OpLabel
         %54 = OpAccessChain %12 %25 %11
         %55 = OpLoad %6 %54
         %56 = OpIAdd %6 %55 %34
         %57 = OpAccessChain %12 %25 %11
               OpStore %57 %56
               OpBranch %22
         %20 = OpLabel
         %53 = OpAccessChain %12 %25 %11
               OpStore %53 %52
               OpBranch %21
         %15 = OpLabel
         %26 = OpAccessChain %12 %25 %11
         %27 = OpLoad %6 %26
         %29 = OpIAdd %6 %27 %28
               OpStore %26 %29
               OpBranch %22
         %19 = OpLabel
         %45 = OpAccessChain %12 %25 %11
         %46 = OpLoad %6 %45
         %47 = OpAccessChain %12 %25 %11
         %48 = OpLoad %6 %47
         %49 = OpIMul %6 %46 %48
         %50 = OpAccessChain %12 %25 %11
               OpStore %50 %49
               OpBranch %22
         %16 = OpLabel
         %31 = OpAccessChain %12 %25 %11
         %32 = OpLoad %6 %31
         %33 = OpISub %6 %32 %28
               OpStore %31 %33
               OpBranch %17
         %22 = OpLabel
               OpReturn
               OpFunctionEnd
)";

TEST(DiffTest, ReorderedSwitchBlocks) {
  constexpr char kDiff[] = R"( ; SPIR-V
 ; Version: 1.6
 ; Generator: Khronos SPIR-V Tools Assembler; 0
-; Bound: 58
+; Bound: 62
 ; Schema: 0
 OpCapability Shader
 %1 = OpExtInstImport "GLSL.std.450"
 OpMemoryModel Logical GLSL450
 OpEntryPoint GLCompute %4 "main"
 OpExecutionMode %4 LocalSize 1 1 1
 OpSource ESSL 310
 OpName %4 "main"
 OpName %7 "BufferIn"
 OpMemberName %7 0 "i"
 OpName %9 ""
 OpName %23 "BufferOut"
 OpMemberName %23 0 "o"
 OpName %25 ""
 OpMemberDecorate %7 0 Offset 0
 OpDecorate %7 Block
 OpDecorate %9 DescriptorSet 0
 OpDecorate %9 Binding 0
 OpMemberDecorate %23 0 Offset 0
 OpDecorate %23 BufferBlock
 OpDecorate %25 DescriptorSet 0
 OpDecorate %25 Binding 1
 %2 = OpTypeVoid
 %3 = OpTypeFunction %2
 %6 = OpTypeInt 32 0
 %7 = OpTypeStruct %6
 %8 = OpTypePointer Uniform %7
 %9 = OpVariable %8 Uniform
 %10 = OpTypeInt 32 1
 %11 = OpConstant %10 0
 %12 = OpTypePointer Uniform %6
 %23 = OpTypeStruct %6
 %24 = OpTypePointer Uniform %23
 %25 = OpVariable %24 Uniform
 %28 = OpConstant %10 1
 %34 = OpConstant %6 2
 %52 = OpConstant %6 1
 %4 = OpFunction %2 None %3
 %5 = OpLabel
 %13 = OpAccessChain %12 %9 %11
 %14 = OpLoad %6 %13
 OpSelectionMerge %22 None
 OpSwitch %14 %21 0 %15 1 %16 2 %17 3 %18 4 %19 5 %20
 %20 = OpLabel
 %53 = OpAccessChain %12 %25 %11
 OpStore %53 %52
 OpBranch %21
 %19 = OpLabel
 %45 = OpAccessChain %12 %25 %11
 %46 = OpLoad %6 %45
 %47 = OpAccessChain %12 %25 %11
 %48 = OpLoad %6 %47
 %49 = OpIMul %6 %46 %48
 %50 = OpAccessChain %12 %25 %11
 OpStore %50 %49
 OpBranch %22
 %18 = OpLabel
 %40 = OpAccessChain %12 %25 %11
 %41 = OpLoad %6 %40
 %42 = OpUDiv %6 %41 %34
 %43 = OpAccessChain %12 %25 %11
 OpStore %43 %42
 OpBranch %22
 %16 = OpLabel
 %31 = OpAccessChain %12 %25 %11
 %32 = OpLoad %6 %31
 %33 = OpISub %6 %32 %28
 OpStore %31 %33
 OpBranch %17
 %17 = OpLabel
 %35 = OpAccessChain %12 %25 %11
 %36 = OpLoad %6 %35
 %37 = OpIMul %6 %36 %34
 %38 = OpAccessChain %12 %25 %11
 OpStore %38 %37
 OpBranch %22
 %15 = OpLabel
 %26 = OpAccessChain %12 %25 %11
 %27 = OpLoad %6 %26
 %29 = OpIAdd %6 %27 %28
 OpStore %26 %29
 OpBranch %22
 %21 = OpLabel
 %54 = OpAccessChain %12 %25 %11
 %55 = OpLoad %6 %54
 %56 = OpIAdd %6 %55 %34
 %57 = OpAccessChain %12 %25 %11
 OpStore %57 %56
 OpBranch %22
 %22 = OpLabel
 OpReturn
 OpFunctionEnd
)";
  Options options;
  DoStringDiffTest(kSrc, kDst, kDiff, options);
}

TEST(DiffTest, ReorderedSwitchBlocksNoDebug) {
  constexpr char kSrcNoDebug[] = R"(               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %4 "main"
               OpExecutionMode %4 LocalSize 1 1 1
               OpSource ESSL 310
               OpMemberDecorate %7 0 Offset 0
               OpDecorate %7 Block
               OpDecorate %9 DescriptorSet 0
               OpDecorate %9 Binding 0
               OpMemberDecorate %23 0 Offset 0
               OpDecorate %23 BufferBlock
               OpDecorate %25 DescriptorSet 0
               OpDecorate %25 Binding 1
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 0
          %7 = OpTypeStruct %6
          %8 = OpTypePointer Uniform %7
          %9 = OpVariable %8 Uniform
         %10 = OpTypeInt 32 1
         %11 = OpConstant %10 0
         %12 = OpTypePointer Uniform %6
         %23 = OpTypeStruct %6
         %24 = OpTypePointer Uniform %23
         %25 = OpVariable %24 Uniform
         %28 = OpConstant %10 1
         %34 = OpConstant %6 2
         %52 = OpConstant %6 1
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %13 = OpAccessChain %12 %9 %11
         %14 = OpLoad %6 %13
               OpSelectionMerge %22 None
               OpSwitch %14 %21 0 %15 1 %16 2 %17 3 %18 4 %19 5 %20
         %21 = OpLabel
         %54 = OpAccessChain %12 %25 %11
         %55 = OpLoad %6 %54
         %56 = OpIAdd %6 %55 %34
         %57 = OpAccessChain %12 %25 %11
               OpStore %57 %56
               OpBranch %22
         %15 = OpLabel
         %26 = OpAccessChain %12 %25 %11
         %27 = OpLoad %6 %26
         %29 = OpIAdd %6 %27 %28
               OpStore %26 %29
               OpBranch %22
         %16 = OpLabel
         %31 = OpAccessChain %12 %25 %11
         %32 = OpLoad %6 %31
         %33 = OpISub %6 %32 %28
               OpStore %31 %33
               OpBranch %17
         %17 = OpLabel
         %35 = OpAccessChain %12 %25 %11
         %36 = OpLoad %6 %35
         %37 = OpIMul %6 %36 %34
         %38 = OpAccessChain %12 %25 %11
               OpStore %38 %37
               OpBranch %22
         %18 = OpLabel
         %40 = OpAccessChain %12 %25 %11
         %41 = OpLoad %6 %40
         %42 = OpUDiv %6 %41 %34
         %43 = OpAccessChain %12 %25 %11
               OpStore %43 %42
               OpBranch %22
         %19 = OpLabel
         %45 = OpAccessChain %12 %25 %11
         %46 = OpLoad %6 %45
         %47 = OpAccessChain %12 %25 %11
         %48 = OpLoad %6 %47
         %49 = OpIMul %6 %46 %48
         %50 = OpAccessChain %12 %25 %11
               OpStore %50 %49
               OpBranch %22
         %20 = OpLabel
         %53 = OpAccessChain %12 %25 %11
               OpStore %53 %52
               OpBranch %21
         %22 = OpLabel
               OpReturn
               OpFunctionEnd
)";
  constexpr char kDstNoDebug[] = R"(               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %4 "main"
               OpExecutionMode %4 LocalSize 1 1 1
               OpSource ESSL 310
               OpMemberDecorate %7 0 Offset 0
               OpDecorate %7 Block
               OpDecorate %9 DescriptorSet 0
               OpDecorate %9 Binding 0
               OpMemberDecorate %23 0 Offset 0
               OpDecorate %23 BufferBlock
               OpDecorate %25 DescriptorSet 0
               OpDecorate %25 Binding 1
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 0
          %7 = OpTypeStruct %6
          %8 = OpTypePointer Uniform %7
          %9 = OpVariable %8 Uniform
         %10 = OpTypeInt 32 1
         %11 = OpConstant %10 0
         %12 = OpTypePointer Uniform %6
         %23 = OpTypeStruct %6
         %24 = OpTypePointer Uniform %23
         %25 = OpVariable %24 Uniform
         %28 = OpConstant %10 1
         %34 = OpConstant %6 2
         %52 = OpConstant %6 1
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %13 = OpAccessChain %12 %9 %11
         %14 = OpLoad %6 %13
               OpSelectionMerge %22 None
               OpSwitch %14 %21 0 %15 1 %16 2 %17 3 %18 4 %19 5 %20
         %17 = OpLabel
         %35 = OpAccessChain %12 %25 %11
         %36 = OpLoad %6 %35
         %37 = OpIMul %6 %36 %34
         %38 = OpAccessChain %12 %25 %11
               OpStore %38 %37
               OpBranch %22
         %18 = OpLabel
         %40 = OpAccessChain %12 %25 %11
         %41 = OpLoad %6 %40
         %42 = OpUDiv %6 %41 %34
         %43 = OpAccessChain %12 %25 %11
               OpStore %43 %42
               OpBranch %22
         %21 = OpLabel
         %54 = OpAccessChain %12 %25 %11
         %55 = OpLoad %6 %54
         %56 = OpIAdd %6 %55 %34
         %57 = OpAccessChain %12 %25 %11
               OpStore %57 %56
               OpBranch %22
         %20 = OpLabel
         %53 = OpAccessChain %12 %25 %11
               OpStore %53 %52
               OpBranch %21
         %15 = OpLabel
         %26 = OpAccessChain %12 %25 %11
         %27 = OpLoad %6 %26
         %29 = OpIAdd %6 %27 %28
               OpStore %26 %29
               OpBranch %22
         %19 = OpLabel
         %45 = OpAccessChain %12 %25 %11
         %46 = OpLoad %6 %45
         %47 = OpAccessChain %12 %25 %11
         %48 = OpLoad %6 %47
         %49 = OpIMul %6 %46 %48
         %50 = OpAccessChain %12 %25 %11
               OpStore %50 %49
               OpBranch %22
         %16 = OpLabel
         %31 = OpAccessChain %12 %25 %11
         %32 = OpLoad %6 %31
         %33 = OpISub %6 %32 %28
               OpStore %31 %33
               OpBranch %17
         %22 = OpLabel
               OpReturn
               OpFunctionEnd
)";
  constexpr char kDiff[] = R"( ; SPIR-V
 ; Version: 1.6
 ; Generator: Khronos SPIR-V Tools Assembler; 0
-; Bound: 58
+; Bound: 62
 ; Schema: 0
 OpCapability Shader
 %1 = OpExtInstImport "GLSL.std.450"
 OpMemoryModel Logical GLSL450
 OpEntryPoint GLCompute %4 "main"
 OpExecutionMode %4 LocalSize 1 1 1
 OpSource ESSL 310
 OpMemberDecorate %7 0 Offset 0
 OpDecorate %7 Block
 OpDecorate %9 DescriptorSet 0
 OpDecorate %9 Binding 0
 OpMemberDecorate %23 0 Offset 0
 OpDecorate %23 BufferBlock
 OpDecorate %25 DescriptorSet 0
 OpDecorate %25 Binding 1
 %2 = OpTypeVoid
 %3 = OpTypeFunction %2
 %6 = OpTypeInt 32 0
 %7 = OpTypeStruct %6
 %8 = OpTypePointer Uniform %7
 %9 = OpVariable %8 Uniform
 %10 = OpTypeInt 32 1
 %11 = OpConstant %10 0
 %12 = OpTypePointer Uniform %6
 %23 = OpTypeStruct %6
 %24 = OpTypePointer Uniform %23
 %25 = OpVariable %24 Uniform
 %28 = OpConstant %10 1
 %34 = OpConstant %6 2
 %52 = OpConstant %6 1
 %4 = OpFunction %2 None %3
 %5 = OpLabel
 %13 = OpAccessChain %12 %9 %11
 %14 = OpLoad %6 %13
 OpSelectionMerge %22 None
 OpSwitch %14 %21 0 %15 1 %16 2 %17 3 %18 4 %19 5 %20
 %20 = OpLabel
 %53 = OpAccessChain %12 %25 %11
 OpStore %53 %52
 OpBranch %21
 %19 = OpLabel
 %45 = OpAccessChain %12 %25 %11
 %46 = OpLoad %6 %45
 %47 = OpAccessChain %12 %25 %11
 %48 = OpLoad %6 %47
 %49 = OpIMul %6 %46 %48
 %50 = OpAccessChain %12 %25 %11
 OpStore %50 %49
 OpBranch %22
 %18 = OpLabel
 %40 = OpAccessChain %12 %25 %11
 %41 = OpLoad %6 %40
 %42 = OpUDiv %6 %41 %34
 %43 = OpAccessChain %12 %25 %11
 OpStore %43 %42
 OpBranch %22
 %16 = OpLabel
 %31 = OpAccessChain %12 %25 %11
 %32 = OpLoad %6 %31
 %33 = OpISub %6 %32 %28
 OpStore %31 %33
 OpBranch %17
 %17 = OpLabel
 %35 = OpAccessChain %12 %25 %11
 %36 = OpLoad %6 %35
 %37 = OpIMul %6 %36 %34
 %38 = OpAccessChain %12 %25 %11
 OpStore %38 %37
 OpBranch %22
 %15 = OpLabel
 %26 = OpAccessChain %12 %25 %11
 %27 = OpLoad %6 %26
 %29 = OpIAdd %6 %27 %28
 OpStore %26 %29
 OpBranch %22
 %21 = OpLabel
 %54 = OpAccessChain %12 %25 %11
 %55 = OpLoad %6 %54
 %56 = OpIAdd %6 %55 %34
 %57 = OpAccessChain %12 %25 %11
 OpStore %57 %56
 OpBranch %22
 %22 = OpLabel
 OpReturn
 OpFunctionEnd
)";
  Options options;
  DoStringDiffTest(kSrcNoDebug, kDstNoDebug, kDiff, options);
}

}  // namespace
}  // namespace diff
}  // namespace spvtools
