;; Test for multiple entry points with the same execution model.
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %4 "main1" %8 %10
               OpEntryPoint Vertex %12 "main2" %13 %14 %15
               OpSource ESSL 310
               OpName %4 "main1"
               OpName %12 "main2"
               OpName %8 "v"
               OpName %10 "a"
               OpName %13 "v"
               OpName %14 "a"
               OpName %15 "b"
               OpDecorate %8 Location 0
               OpDecorate %10 Location 0
               OpDecorate %13 Location 0
               OpDecorate %14 Location 0
               OpDecorate %15 Location 1
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeFloat 32

          %7 = OpTypePointer Output %6
          %9 = OpTypePointer Input %6
          %8 = OpVariable %7 Output
         %10 = OpVariable %9 Input
         %13 = OpVariable %7 Output
         %14 = OpVariable %9 Input
         %15 = OpVariable %9 Input

          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %11 = OpLoad %6 %10
               OpStore %8 %11
               OpReturn
               OpFunctionEnd

         %12 = OpFunction %2 None %3
         %16 = OpLabel
         %17 = OpLoad %6 %14
         %18 = OpLoad %6 %15
         %19 = OpFAdd %6 %17 %18
               OpStore %13 %19
               OpReturn
               OpFunctionEnd
