VulkanUnitTests: Fix SPIR-V validation issue

`LoopDivergentMergePhi` was attempting to use the same merge block for a `OpLoopMerge` and a `OpSelectionMerge`. This is not legal, and was caught by improvements to the SPIR-V tools validator.

The fix is simple: Add a new merge block for the inner `OpSelectionMerge` that immediately jumps to the merge block for the `OpLoopMerge`.

Bug: b/123642959
Bug: b/133440380
Bug: b/133481698
Change-Id: I8b5da04a1cd2db3e44bb5b50f1619a8565e5bc9d
diff --git a/tests/VulkanUnitTests/unittests.cpp b/tests/VulkanUnitTests/unittests.cpp
index 4055ce1..1c37046 100644
--- a/tests/VulkanUnitTests/unittests.cpp
+++ b/tests/VulkanUnitTests/unittests.cpp
@@ -1564,19 +1564,21 @@
               "OpBranchConditional %33 %35 %34\n"

         "%35 = OpLabel\n"

         "%36 = OpIEqual %20 %28 %30\n"

-              "OpSelectionMerge %32 None\n"

-              "OpBranchConditional %36 %37 %32\n"

-        "%37 = OpLabel\n"

-        "%38 = OpAccessChain %22 %6 %13 %27\n"

-        "%39 = OpLoad %12 %38\n"

+              "OpSelectionMerge %37 None\n"

+              "OpBranchConditional %36 %38 %37\n"

+        "%38 = OpLabel\n"

+        "%39 = OpAccessChain %22 %6 %13 %27\n"

+        "%40 = OpLoad %12 %39\n"

               "OpBranch %34\n"

+        "%37 = OpLabel\n"

+              "OpBranch %32\n"

         "%32 = OpLabel\n"

         "%31 = OpIAdd %14 %30 %23\n"

               "OpBranch %29\n"

         "%34 = OpLabel\n"

-        "%40 = OpPhi %12 %13 %29 %39 %37\n" // %39: phi

-        "%41 = OpAccessChain %22 %9 %13 %27\n"

-              "OpStore %41 %40\n"

+        "%41 = OpPhi %12 %13 %29 %40 %38\n" // %40: phi

+        "%42 = OpAccessChain %22 %9 %13 %27\n"

+              "OpStore %42 %41\n"

               "OpReturn\n"

               "OpFunctionEnd\n";

     test(src.str(), [](uint32_t i) { return i; }, [](uint32_t i) { return i; });