Lines Matching full:check
16 // Bindless Check Instrumentation Tests.
33 ;CHECK: OpDecorate %)" + kFuncName + R"( LinkageAttributes ")" +
38 ;CHECK: %)" + kFuncName + R"( = OpFunction %bool None {{%\w+}}
39 ;CHECK: OpFunctionEnd
72 ;CHECK: OpCapability Linkage in TEST_F()
76 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %i_vTextureCoords %_entryPointOutput_vColor %gl_Frag… in TEST_F()
100 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
130 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
131 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
132 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
147 ;CHECK-NOT: %37 = OpImageSampleImplicitLod %v4float %36 %30 in TEST_F()
148 ;CHECK-NOT: OpStore %_entryPointOutput_vColor %37 in TEST_F()
149 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_57 {{%\w+}} %uint_3 %u… in TEST_F()
150 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
151 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
152 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
153 ;CHECK: {{%\w+}} = OpLoad %16 %33 in TEST_F()
154 ;CHECK: {{%\w+}} = OpSampledImage %26 {{%\w+}} %35 in TEST_F()
155 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %30 in TEST_F()
156 ;CHECK: OpBranch {{%\w+}} in TEST_F()
157 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
158 ;CHECK: OpBranch {{%\w+}} in TEST_F()
159 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
160 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
161 ;CHECK: OpStore %_entryPointOutput_vColor [[phi_result]] in TEST_F()
211 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %i_vTextureCoords %_entryPointOutput_vColor %gl_Frag… in TEST_F()
231 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
259 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
260 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
261 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
262 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
276 ;CHECK-NOT: %38 = OpImageSampleImplicitLod %v4float %37 %31 in TEST_F()
277 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
278 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
279 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
280 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
281 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
282 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_60 {{%\w+}} %uint_3 %u… in TEST_F()
283 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
284 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
285 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
286 ;CHECK: {{%\w+}} = OpLoad %17 %34 in TEST_F()
287 ;CHECK: {{%\w+}} = OpSampledImage %27 {{%\w+}} %36 in TEST_F()
288 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %31 in TEST_F()
289 ;CHECK: OpBranch {{%\w+}} in TEST_F()
290 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
291 ;CHECK: OpBranch {{%\w+}} in TEST_F()
292 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
293 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
301 ;CHECK-NOT: %44 = OpImageSampleImplicitLod %v4float %43 %31 in TEST_F()
302 ;CHECK-NOT: %45 = OpFAdd %v4float %38 %44 in TEST_F()
303 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
304 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
305 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
306 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
307 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
308 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_66 {{%\w+}} %uint_3 %u… in TEST_F()
309 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
310 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
311 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
312 ;CHECK: {{%\w+}} = OpLoad %17 %41 in TEST_F()
313 ;CHECK: {{%\w+}} = OpSampledImage %27 {{%\w+}} %36 in TEST_F()
314 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %31 in TEST_F()
315 ;CHECK: OpBranch {{%\w+}} in TEST_F()
316 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
317 ;CHECK: OpBranch {{%\w+}} in TEST_F()
318 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
319 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
320 ;CHECK: %45 = OpFAdd %v4float {{%\w+}} {{%\w+}} in TEST_F()
341 ;CHECK: OpCapability Linkage in TEST_F()
345 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %i_vTextureCoords %_entryPointOutput_vColor %gl_Frag… in TEST_F()
362 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
386 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
387 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
388 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
402 ;CHECK-NOT: %71 = OpImageRead %v4float %75 %53 in TEST_F()
403 ;CHECK-NOT: OpStore %_entryPointOutput_vColor %71 in TEST_F()
404 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
405 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
406 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
407 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
408 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
409 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}} %uint_3 %u… in TEST_F()
410 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
411 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
412 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
413 ;CHECK: {{%\w+}} = OpLoad %39 %65 in TEST_F()
414 ;CHECK: {{%\w+}} = OpImage %20 {{%\w+}} in TEST_F()
415 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %53 in TEST_F()
416 ;CHECK: OpBranch {{%\w+}} in TEST_F()
417 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
418 ;CHECK: OpBranch {{%\w+}} in TEST_F()
419 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
420 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
421 ;CHECK: OpStore %_entryPointOutput_vColor {{%\w+}} in TEST_F()
440 ;CHECK: OpCapability Linkage in TEST_F()
444 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %i_vTextureCoords %_entryPointOutput_vColor %gl_Frag… in TEST_F()
461 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
485 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
486 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
487 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
500 ;CHECK-NOT: %71 = OpImageSampleImplicitLod %v4float %66 %53 in TEST_F()
501 ;CHECK-NOT: OpStore %_entryPointOutput_vColor %71 in TEST_F()
502 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
503 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
504 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
505 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
506 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
507 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_50 {{%\w+}} %uint_4 %u… in TEST_F()
508 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
509 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
510 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
511 ;CHECK: {{%\w+}} = OpLoad %39 %65 in TEST_F()
512 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %53 in TEST_F()
513 ;CHECK: OpBranch {{%\w+}} in TEST_F()
514 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
515 ;CHECK: OpBranch {{%\w+}} in TEST_F()
516 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
517 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
518 ;CHECK: OpStore %_entryPointOutput_vColor {{%\w+}} in TEST_F()
538 ;CHECK: OpCapability Linkage in TEST_F()
542 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %i_vTextureCoords %_entryPointOutput_vColor %gl_Frag… in TEST_F()
559 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
584 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
585 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
586 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
599 ;CHECK-NOT: OpImageWrite %66 %53 %80 in TEST_F()
600 ;CHECK-NOT: OpStore %_entryPointOutput_vColor %80 in TEST_F()
601 ;CHECK: %32 = OpLoad %16 %31 in TEST_F()
602 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
603 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
604 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
605 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
606 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
607 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}} %uint_30 %… in TEST_F()
608 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
609 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
610 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
611 ;CHECK: {{%\w+}} = OpLoad %16 %31 in TEST_F()
612 ;CHECK: OpImageWrite {{%\w+}} %28 %19 in TEST_F()
613 ;CHECK: OpBranch {{%\w+}} in TEST_F()
614 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
615 ;CHECK: OpBranch {{%\w+}} in TEST_F()
616 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
617 ;CHECK: OpStore %_entryPointOutput_vColor %19 in TEST_F()
637 ;CHECK: OpCapability Linkage in TEST_F()
657 ;CHECK: OpDecorate %gl_VertexIndex BuiltIn VertexIndex in TEST_F()
658 ;CHECK: OpDecorate %gl_InstanceIndex BuiltIn InstanceIndex in TEST_F()
701 ;CHECK: %_ptr_Input_uint = OpTypePointer Input %uint in TEST_F()
702 ;CHECK: %gl_VertexIndex = OpVariable %_ptr_Input_uint Input in TEST_F()
703 ;CHECK: %gl_InstanceIndex = OpVariable %_ptr_Input_uint Input in TEST_F()
704 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
723 ;CHECK-NOT: %38 = OpImageSampleExplicitLod %v4float %35 %36 Lod %37 in TEST_F()
724 ;CHECK-NOT: %40 = OpAccessChain %_ptr_Output_v4float %_ %int_0 in TEST_F()
725 ;CHECK-NOT: OpStore %40 %38 in TEST_F()
726 ;CHECK: {{%\w+}} = OpLoad %uint %gl_VertexIndex in TEST_F()
727 ;CHECK: {{%\w+}} = OpLoad %uint %gl_InstanceIndex in TEST_F()
728 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_0 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
729 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_70 {{%\w+}} %uint_7 %u… in TEST_F()
730 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
731 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
732 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
733 ;CHECK: {{%\w+}} = OpLoad %int {{%\w+}} in TEST_F()
734 ;CHECK: OpBranch {{%\w+}} in TEST_F()
735 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
736 ;CHECK: OpBranch {{%\w+}} in TEST_F()
737 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
738 ;CHECK: {{%\w+}} = OpPhi %int {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
739 ;CHECK: {{%\w+}} = OpAccessChain %_ptr_UniformConstant_25 %texSampler1D {{%\w+}} in TEST_F()
740 ;CHECK: {{%\w+}} = OpLoad {{%\w+}} {{%\w+}} in TEST_F()
741 ;CHECK: {{%\w+}} = OpLoad %float %coords1D in TEST_F()
742 ;CHECK: {{%\w+}} = OpLoad %float %lod in TEST_F()
743 ;CHECK: {{%\w+}} = OpLoad %uint %gl_VertexIndex in TEST_F()
744 ;CHECK: {{%\w+}} = OpLoad %uint %gl_InstanceIndex in TEST_F()
745 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_0 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
746 ;CHECK: {{%\w+}} = OpBitcast %uint {{%\w+}} in TEST_F()
747 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_75 {{%\w+}} %uint_2 %u… in TEST_F()
748 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
749 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
750 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
751 ;CHECK: {{%\w+}} = OpLoad %25 %38 in TEST_F()
752 ;CHECK: {{%\w+}} = OpImageSampleExplicitLod %v4float {{%\w+}} %40 Lod %41 in TEST_F()
753 ;CHECK: OpBranch {{%\w+}} in TEST_F()
754 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
755 ;CHECK: OpBranch {{%\w+}} in TEST_F()
756 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
757 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
758 ;CHECK: %43 = OpAccessChain %_ptr_Output_v4float %_ %int_0 in TEST_F()
759 ;CHECK: OpStore %43 {{%\w+}} in TEST_F()
792 ;CHECK: OpCapability Linkage in TEST_F()
796 ;CHECK: OpEntryPoint TessellationEvaluation %main "main" %_ %gl_PrimitiveID %gl_TessCoord in TEST_F()
829 ;CHECK: OpDecorate %gl_PrimitiveID BuiltIn PrimitiveId in TEST_F()
830 ;CHECK: OpDecorate %gl_TessCoord BuiltIn TessCoord in TEST_F()
854 ;CHECK: %_ptr_Input_uint = OpTypePointer Input %uint in TEST_F()
855 ;CHECK: %gl_PrimitiveID = OpVariable %_ptr_Input_uint Input in TEST_F()
856 ;CHECK: %v3float = OpTypeVector %float 3 in TEST_F()
857 ;CHECK: %_ptr_Input_v3float = OpTypePointer Input %v3float in TEST_F()
858 ;CHECK: %gl_TessCoord = OpVariable %_ptr_Input_v3float Input in TEST_F()
859 ;CHECK: %v3uint = OpTypeVector %uint 3 in TEST_F()
860 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
871 ;CHECK-NOT: %29 = OpLoad %v4float %28 in TEST_F()
872 ;CHECK: {{%\w+}} = OpLoad %uint %gl_PrimitiveID in TEST_F()
873 ;CHECK: {{%\w+}} = OpLoad %v3float %gl_TessCoord in TEST_F()
874 ;CHECK: {{%\w+}} = OpBitcast %v3uint {{%\w+}} in TEST_F()
875 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
876 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
877 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_2 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
878 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_62 {{%\w+}} %uint_9 %u… in TEST_F()
879 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
880 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
881 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
882 ;CHECK: {{%\w+}} = OpLoad %uint %27 in TEST_F()
883 ;CHECK: OpBranch {{%\w+}} in TEST_F()
884 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
885 ;CHECK: OpBranch {{%\w+}} in TEST_F()
886 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
887 ;CHECK: {{%\w+}} = OpPhi %uint {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
890 ;CHECK-NOT: OpStore %31 %29 in TEST_F()
891 ;CHECK: {{%\w+}} = OpLoad %uint %gl_PrimitiveID in TEST_F()
892 ;CHECK: {{%\w+}} = OpLoad %v3float %gl_TessCoord in TEST_F()
893 ;CHECK: {{%\w+}} = OpBitcast %v3uint {{%\w+}} in TEST_F()
894 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
895 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
896 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_2 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
897 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_64 {{%\w+}} %uint_9 %u… in TEST_F()
898 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
899 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
900 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
901 ;CHECK: {{%\w+}} = OpLoad %v4float %29 in TEST_F()
902 ;CHECK: OpBranch {{%\w+}} in TEST_F()
903 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
904 ;CHECK: OpBranch {{%\w+}} in TEST_F()
905 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
906 ;CHECK: [[phi_result:%\w+]] = OpPhi {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
907 ;CHECK: %31 = OpAccessChain %_ptr_Output_v4float %_ %int_0 in TEST_F()
908 ;CHECK: OpStore %31 [[phi_result]] in TEST_F()
971 ;CHECK: OpCapability Linkage in TEST_F()
972 ;CHECK: OpExtension "SPV_KHR_storage_buffer_storage_class" in TEST_F()
973 ;CHECK: OpExtension "SPV_KHR_physical_storage_buffer" in TEST_F()
976 ;CHECK: OpMemoryModel PhysicalStorageBuffer64 GLSL450 in TEST_F()
978 ;CHECK: OpEntryPoint TessellationControl %main "main" %_3 %gl_InvocationID %_5 %gl_in %gl_out %gl_T… in TEST_F()
1095 ;CHECK-NOT: %15 = OpAccessChain %_ptr_Input_int %_3 %14 in TEST_F()
1096 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1097 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1098 ;CHECK: {{%\w+}} = OpLoad %int %gl_InvocationID in TEST_F()
1099 ;CHECK: {{%\w+}} = OpAccessChain %_ptr_Input_int %_3 {{%\w+}} in TEST_F()
1100 ;CHECK: {{%\w+}} = OpLoad %int {{%\w+}} in TEST_F()
1101 ;CHECK: {{%\w+}} = OpIEqual %bool {{%\w+}} %int_0 in TEST_F()
1102 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
1103 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1104 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1116 ;CHECK: {{%\w+}} = OpLoad %int %gl_InvocationID in TEST_F()
1117 ;CHECK: {{%\w+}} = OpBitcast %uint {{%\w+}} in TEST_F()
1118 ;CHECK: {{%\w+}} = OpLoad %uint %gl_PrimitiveID in TEST_F()
1119 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_1 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
1120 ;CHECK: {{%\w+}} = OpFunctionCall %bool %inst_bindless_check_desc %uint_23 %uint_129 {{%\w+}} %uint… in TEST_F()
1121 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
1122 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1126 ;CHECK-NOT: %48 = OpAccessChain %_ptr_Output_v4float %_5 %33 in TEST_F()
1127 ;CHECK-NOT: OpStore %48 %46 in TEST_F()
1128 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1129 ;CHECK: [[access_chain:%\w+]] = OpAccessChain %_ptr_Output_v4float %_5 {{%\w+}} in TEST_F()
1130 ;CHECK: OpStore [[access_chain]] [[phi_result]] in TEST_F()
1179 ;CHECK: OpCapability Linkage in TEST_F()
1183 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %i_vTextureCoords %_entryPointOutput_vColor %gl_Frag… in TEST_F()
1213 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
1247 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
1248 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
1249 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
1285 ;CHECK-NOT: %45 = OpImageSampleImplicitLod %v4float %41 %44 in TEST_F()
1286 ;CHECK: {{%\w+}} = OpLoad %v2float {{%\w+}} in TEST_F()
1287 ;CHECK: OpNoLine in TEST_F()
1288 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
1289 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
1290 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
1291 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
1292 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
1293 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_128 {{%\w+}} %uint_1 %… in TEST_F()
1294 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
1295 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1296 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1297 ;CHECK: {{%\w+}} = OpLoad %27 {{%\w+}} in TEST_F()
1298 ;CHECK: {{%\w+}} = OpSampledImage %37 {{%\w+}} {{%\w+}} in TEST_F()
1299 ;CHECK: OpLine %5 24 0 in TEST_F()
1300 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} {{%\w+}} in TEST_F()
1301 ;CHECK: OpNoLine in TEST_F()
1302 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1303 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1304 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1305 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1306 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
1309 ;CHECK-NOT: OpStore %47 %45 in TEST_F()
1310 ;CHECK: [[store_loc:%\w+]] = OpAccessChain %_ptr_Function_v4float %ps_output %int_0 in TEST_F()
1311 ;CHECK: OpStore [[store_loc]] [[phi_result]] in TEST_F()
1333 ;CHECK: OpCapability Linkage in TEST_F()
1338 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %i_vTextureCoords %_entryPointOutput_vColor %gl_Frag… in TEST_F()
1358 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
1385 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
1386 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
1387 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
1402 ;CHECK-NOT: %71 = OpImageSampleImplicitLod %v4float %68 %53 in TEST_F()
1403 ;CHECK-NOT: OpStore %_entryPointOutput_vColor %71 in TEST_F()
1404 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
1405 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
1406 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
1407 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
1408 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
1409 ;CHECK: [[check_result:%\w+]] = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_60 {{%\w+… in TEST_F()
1410 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
1411 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1412 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1413 ;CHECK: {{%\w+}} = OpLoad %16 %33 in TEST_F()
1414 ;CHECK: {{%\w+}} = OpSampledImage %26 {{%\w+}} %35 in TEST_F()
1415 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %30 in TEST_F()
1416 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1417 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1418 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1419 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1420 ;CHECK: [[phi_result_1:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
1421 ;CHECK: OpStore %_entryPointOutput_vColor [[phi_result_1]] in TEST_F()
1434 // texture sample on a scalar descriptor with an initialization check if the in TEST_F()
1443 ;CHECK: OpCapability Linkage in TEST_F()
1447 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %i_vTextureCoords %_entryPointOutput_vColor %gl_Frag… in TEST_F()
1462 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
1479 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
1491 ;CHECK-NOT: %24 = OpImageSampleImplicitLod %v4float %23 %20 in TEST_F()
1492 ;CHECK-NOT: OpStore %_entryPointOutput_vColor %24 in TEST_F()
1493 ;CHECK: [[check_result:%\w+]] = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_40 {{%\w+… in TEST_F()
1494 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
1495 ;CHECK: OpBranchConditional [[check_result]] {{%\w+}} {{%\w+}} in TEST_F()
1496 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1497 ;CHECK: {{%\w+}} = OpLoad %12 %g_tColor in TEST_F()
1498 ;CHECK: {{%\w+}} = OpSampledImage %16 {{%\w+}} %22 in TEST_F()
1499 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %20 in TEST_F()
1500 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1501 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1502 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1503 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1504 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
1505 ;CHECK: OpStore %_entryPointOutput_vColor [[phi_result]] in TEST_F()
1522 ;CHECK: OpEntryPoint Fragment {{%\w+}} "foo" {{%\w+}} {{%\w+}} {{%\w+}} %gl_FragCoord in TEST_F()
1571 ;CHECK: OpCapability Linkage in TEST_F()
1575 ;CHECK: OpEntryPoint Fragment {{%\w+}} "foo" {{%\w+}} {{%\w+}} {{%\w+}} %gl_FragCoord in TEST_F()
1577 ;CHECK: OpEntryPoint Fragment {{%\w+}} "bar" {{%\w+}} {{%\w+}} {{%\w+}} %gl_FragCoord in TEST_F()
1643 ;CHECK: OpCapability Linkage in TEST_F()
1648 ;CHECK: OpEntryPoint Fragment %main "main" %b %nu_ii %gl_FragCoord in TEST_F()
1668 ;CHECK: OpDecorate {{%\w+}} NonUniform in TEST_F()
1670 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
1671 ;CHECK: OpDecorate {{%\w+}} NonUniform in TEST_F()
1686 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
1687 ;CHECK: %v4float = OpTypeVector %float 4 in TEST_F()
1688 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
1689 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
1690 ;CHECK: [[null_float:%\w+]] = OpConstantNull %float in TEST_F()
1700 ;CHECK-NOT: %20 = OpLoad %float %19 in TEST_F()
1701 ;CHECK-NOT: OpStore %b %20 in TEST_F()
1702 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
1703 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
1704 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
1705 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
1706 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
1707 ;CHECK: {{%\w+}} = OpBitcast %uint %7 in TEST_F()
1708 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_46 {{%\w+}} %uint_6 %u… in TEST_F()
1709 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
1710 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1711 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1712 ;CHECK: {{%\w+}} = OpLoad %float %20 in TEST_F()
1713 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1714 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1715 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1716 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1717 ;CHECK: [[phi_result:%\w+]] = OpPhi %float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1718 ;CHECK: OpStore %b [[phi_result]] in TEST_F()
1749 ;CHECK: OpCapability Linkage in TEST_F()
1754 ;CHECK: OpEntryPoint Fragment %main "main" %b %nu_ii %gl_FragCoord in TEST_F()
1775 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
1790 ;CHECK: %uint = OpTypeInt 32 0 in TEST_F()
1791 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
1792 ;CHECK: %v4float = OpTypeVector %float 4 in TEST_F()
1793 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
1794 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
1795 ;CHECK: [[null_float:%\w+]] = OpConstantNull %float in TEST_F()
1805 ;CHECK-NOT: %20 = OpLoad %float %19 in TEST_F()
1806 ;CHECK-NOT: OpStore %b %20 in TEST_F()
1807 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
1808 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
1809 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
1810 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
1811 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
1812 ;CHECK: {{%\w+}} = OpBitcast %uint %7 in TEST_F()
1813 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_46 {{%\w+}} %uint_7 %u… in TEST_F()
1814 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
1815 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1816 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1817 ;CHECK: {{%\w+}} = OpLoad %float %20 in TEST_F()
1818 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1819 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1820 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1821 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1822 ;CHECK: [[phi_result:%\w+]] = OpPhi %float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1823 ;CHECK: OpStore %b [[phi_result]] in TEST_F()
1843 ;CHECK: OpCapability Linkage in TEST_F()
1848 ;CHECK: OpEntryPoint Fragment %main "main" %b %nu_ii %gl_FragCoord in TEST_F()
1868 ;CHECK: OpDecorate {{%\w+}} NonUniform in TEST_F()
1870 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
1871 ;CHECK: OpDecorate {{%\w+}} NonUniform in TEST_F()
1886 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
1887 ;CHECK: %v4float = OpTypeVector %float 4 in TEST_F()
1888 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
1889 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
1890 ;CHECK: [[null_float:%\w+]] = OpConstantNull %float in TEST_F()
1900 ;CHECK-NOT: %20 = OpLoad %float %19 in TEST_F()
1901 ;CHECK-NOT: OpStore %b %20 in TEST_F()
1902 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
1903 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
1904 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
1905 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
1906 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
1907 ;CHECK: {{%\w+}} = OpBitcast %uint %7 in TEST_F()
1908 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_46 {{%\w+}} %uint_0 %u… in TEST_F()
1909 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
1910 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1911 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1912 ;CHECK: {{%\w+}} = OpLoad %float %20 in TEST_F()
1913 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1914 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1915 ;CHECK: OpBranch {{%\w+}} in TEST_F()
1916 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
1917 ;CHECK: {{%\w+}} = OpPhi %float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
1918 ;CHECK: OpStore %b {{%\w+}} in TEST_F()
1944 ;CHECK: OpCapability Linkage in TEST_F()
1949 ;CHECK: OpEntryPoint Fragment %main "main" %b %gl_FragCoord in TEST_F()
1964 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
1976 ;CHECK: %int = OpTypeInt 32 1 in TEST_F()
1977 ;CHECK: %_ptr_Uniform_float = OpTypePointer Uniform %float in TEST_F()
1978 ;CHECK: %uint = OpTypeInt 32 0 in TEST_F()
1979 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
1980 ;CHECK: %v4float = OpTypeVector %float 4 in TEST_F()
1981 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
1982 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
1983 ;CHECK: [[null_float:%\w+]] = OpConstantNull %float in TEST_F()
1992 ;CHECK-NOT: %16 = OpLoad %float %15 in TEST_F()
1993 ;CHECK-NOT: OpStore %b %16 in TEST_F()
1994 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
1995 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
1996 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
1997 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
1998 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
1999 ;CHECK: [[check_result:%\w+]] = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_33 {{%\w+… in TEST_F()
2000 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2001 ;CHECK: OpBranchConditional [[check_result]] {{%\w+}} {{%\w+}} in TEST_F()
2002 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2003 ;CHECK: {{%\w+}} = OpLoad %float %15 in TEST_F()
2004 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2005 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2006 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2007 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2008 ;CHECK: [[phi_result:%\w+]] = OpPhi %float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2009 ;CHECK: OpStore %b [[phi_result]] in TEST_F()
2039 ;CHECK: OpCapability Linkage in TEST_F()
2044 ;CHECK: OpEntryPoint Fragment %main "main" %nu_ii %b %gl_FragCoord in TEST_F()
2064 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
2079 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
2080 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
2090 ;CHECK-NOT: OpStore %20 %18 in TEST_F()
2091 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
2092 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
2093 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2094 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2095 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
2096 ;CHECK: {{%\w+}} = OpBitcast %uint %7 in TEST_F()
2097 ;CHECK: [[check_result:%\w+]] = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_46 {{%\w+… in TEST_F()
2098 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2099 ;CHECK: OpBranchConditional [[check_result]] {{%\w+}} {{%\w+}} in TEST_F()
2100 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2101 ;CHECK: OpStore %20 %19 in TEST_F()
2102 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2103 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2104 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2105 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2135 ;CHECK: OpCapability Linkage in TEST_F()
2140 ;CHECK: OpEntryPoint Fragment %main "main" %b %nu_ii %gl_FragCoord in TEST_F()
2161 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
2162 ;CHECK: OpDecorate [[load_result:%\w+]] NonUniform in TEST_F()
2179 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
2180 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
2181 ;CHECK: [[null_float:%\w+]] = OpConstantNull %float in TEST_F()
2191 ;CHECK-NOT: %22 = OpLoad %float %21 in TEST_F()
2192 ;CHECK-NOT: OpStore %b %22 in TEST_F()
2193 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
2194 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
2195 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2196 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2197 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
2198 ;CHECK: {{%\w+}} = OpBitcast %uint %7 in TEST_F()
2199 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_47 {{%\w+}} %uint_1 %u… in TEST_F()
2200 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2201 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2202 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2203 ;CHECK: {{%\w+}} = OpLoad %float %22 in TEST_F()
2204 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2205 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2206 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2207 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2208 ;CHECK: {{%\w+}} = OpPhi %float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2209 ;CHECK: OpStore %b {{%\w+}} in TEST_F()
2243 ;CHECK: OpCapability Linkage in TEST_F()
2248 ;CHECK: OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID in TEST_F()
2267 ;CHECK: OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId in TEST_F()
2289 ;CHECK: %v3uint = OpTypeVector %uint 3 in TEST_F()
2290 ;CHECK: %_ptr_Input_v3uint = OpTypePointer Input %v3uint in TEST_F()
2291 ;CHECK: %gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input in TEST_F()
2292 ;CHECK: [[null_uint:%\w+]] = OpConstantNull %uint in TEST_F()
2293 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
2307 ;CHECK-NOT: OpStore %31 %29 in TEST_F()
2308 ;CHECK: {{%\w+}} = OpLoad %v3uint %gl_GlobalInvocationID in TEST_F()
2309 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2310 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2311 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2312 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2313 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_48 {{%\w+}} %uint_2 %u… in TEST_F()
2314 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2315 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2316 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2317 ;CHECK: {{%\w+}} = OpLoad %uint %25 in TEST_F()
2318 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2319 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2320 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2321 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2322 ;CHECK: {{%\w+}} = OpPhi %uint {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2323 ;CHECK: {{%\w+}} = OpAccessChain %_ptr_UniformConstant_13 %images {{%\w+}} in TEST_F()
2324 ;CHECK: {{%\w+}} = OpLoad %13 {{%\w+}} in TEST_F()
2325 ;CHECK: {{%\w+}} = OpLoad %v3uint %gl_GlobalInvocationID in TEST_F()
2326 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2327 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2328 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2329 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2330 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_51 {{%\w+}} %uint_2 %u… in TEST_F()
2331 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2332 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2333 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2334 ;CHECK: {{%\w+}} = OpLoad %13 {{%\w+}} in TEST_F()
2335 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %20 in TEST_F()
2336 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2337 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2338 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2339 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2340 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2341 ;CHECK: {{%\w+}} = OpCompositeExtract %float {{%\w+}} 0 in TEST_F()
2342 ;CHECK: {{%\w+}} = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
2343 ;CHECK: {{%\w+}} = OpLoad %v3uint %gl_GlobalInvocationID in TEST_F()
2344 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2345 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2346 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2347 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2348 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_54 {{%\w+}} %uint_2 %u… in TEST_F()
2349 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2350 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2351 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2352 ;CHECK: OpStore %31 {{%\w+}} in TEST_F()
2353 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2354 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2355 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2356 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2389 ;CHECK: OpCapability Linkage in TEST_F()
2395 ;CHECK: OpEntryPoint RayGenerationNV %main "main" [[launch_id:%\w+]] in TEST_F()
2414 ;CHECK: OpDecorate [[launch_id]] BuiltIn LaunchIdNV in TEST_F()
2436 ;CHECK: [[null_uint:%\w+]] = OpConstantNull %uint in TEST_F()
2437 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
2451 ;CHECK-NOT: OpStore %31 %29 in TEST_F()
2452 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2453 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2454 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2455 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2456 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5313 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2457 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_49 {{%\w+}} %uint_3 %u… in TEST_F()
2458 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2459 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2460 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2461 ;CHECK: {{%\w+}} = OpLoad %uint %25 in TEST_F()
2462 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2463 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2464 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2465 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2466 ;CHECK: {{%\w+}} = OpPhi %uint {{%\w+}} {{%\w+}} [[null_uint]] {{%\w+}} in TEST_F()
2467 ;CHECK: {{%\w+}} = OpAccessChain %_ptr_UniformConstant_13 %images {{%\w+}} in TEST_F()
2468 ;CHECK: {{%\w+}} = OpLoad %13 {{%\w+}} in TEST_F()
2469 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2470 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2471 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2472 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2473 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5313 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2474 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}} %uint_3 %u… in TEST_F()
2475 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2476 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2477 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2478 ;CHECK: {{%\w+}} = OpLoad %13 {{%\w+}} in TEST_F()
2479 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %20 in TEST_F()
2480 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2481 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2482 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2483 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2484 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
2485 ;CHECK: {{%\w+}} = OpCompositeExtract %float {{%\w+}} 0 in TEST_F()
2486 ;CHECK: {{%\w+}} = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
2487 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2488 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2489 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2490 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2491 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5313 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2492 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_55 {{%\w+}} %uint_3 %u… in TEST_F()
2493 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2494 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2495 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2496 ;CHECK: OpStore {{%\w+}} {{%\w+}} in TEST_F()
2497 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2498 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2499 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2500 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2533 ;CHECK: OpCapability Linkage in TEST_F()
2539 ;CHECK: OpEntryPoint IntersectionNV %main "main" [[launch_id:%\w+]] in TEST_F()
2558 ;CHECK: OpDecorate [[launch_id]] BuiltIn LaunchIdNV in TEST_F()
2580 ;CHECK: [[launch_id]] = OpVariable %_ptr_Input_v3uint Input in TEST_F()
2581 ;CHECK: [[null_uint:%\w+]] = OpConstantNull %uint in TEST_F()
2582 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
2596 ;CHECK-NOT: OpStore %31 %29 in TEST_F()
2597 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2598 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2599 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2600 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2601 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5314 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2602 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_49 {{%\w+}} %uint_5 %u… in TEST_F()
2603 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2604 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2605 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2606 ;CHECK: {{%\w+}} = OpLoad %uint %25 in TEST_F()
2607 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2608 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2609 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2610 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2611 ;CHECK: {{%\w+}} = OpPhi %uint {{%\w+}} {{%\w+}} [[null_uint]] {{%\w+}} in TEST_F()
2612 ;CHECK: {{%\w+}} = OpAccessChain %_ptr_UniformConstant_13 %images {{%\w+}} in TEST_F()
2613 ;CHECK: {{%\w+}} = OpLoad %13 {{%\w+}} in TEST_F()
2614 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2615 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2616 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2617 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2618 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5314 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2619 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}} %uint_5 %u… in TEST_F()
2620 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2621 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2622 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2623 ;CHECK: {{%\w+}} = OpLoad %13 {{%\w+}} in TEST_F()
2624 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %20 in TEST_F()
2625 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2626 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2627 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2628 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2629 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
2630 ;CHECK: {{%\w+}} = OpCompositeExtract %float {{%\w+}} 0 in TEST_F()
2631 ;CHECK: {{%\w+}} = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
2632 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2633 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2634 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2635 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2636 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5314 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2637 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_55 {{%\w+}} %uint_5 %u… in TEST_F()
2638 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2639 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2640 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2641 ;CHECK: OpStore %31 {{%\w+}} in TEST_F()
2642 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2643 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2644 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2677 ;CHECK: OpCapability Linkage in TEST_F()
2683 ;CHECK: OpEntryPoint AnyHitNV %main "main" [[launch_id:%\w+]] in TEST_F()
2702 ;CHECK: OpDecorate [[launch_id]] BuiltIn LaunchIdNV in TEST_F()
2724 ;CHECK: [[launch_id]] = OpVariable %_ptr_Input_v3uint Input in TEST_F()
2725 ;CHECK: [[null_uint:%\w+]] = OpConstantNull %uint in TEST_F()
2726 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
2740 ;CHECK-NOT: %20 = OpLoad %uint %19 in TEST_F()
2741 ;CHECK-NOT: %22 = OpAccessChain %_ptr_UniformConstant_13 %images %20 in TEST_F()
2742 ;CHECK-NOT: %23 = OpLoad %13 %22 in TEST_F()
2743 ;CHECK-NOT: %27 = OpImageRead %v4float %23 %25 in TEST_F()
2744 ;CHECK-NOT: %29 = OpCompositeExtract %float %27 0 in TEST_F()
2745 ;CHECK-NOT: %31 = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
2746 ;CHECK-NOT: OpStore %31 %29 in TEST_F()
2747 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2748 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2749 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2750 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2751 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5315 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2752 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_49 {{%\w+}} %uint_2 %u… in TEST_F()
2753 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2754 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2755 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2756 ;CHECK: {{%\w+}} = OpLoad %uint %25 in TEST_F()
2757 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2758 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2759 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2760 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2761 ;CHECK: [[phi_result:%\w+]] = OpPhi %uint {{%\w+}} {{%\w+}} [[null_uint]] {{%\w+}} in TEST_F()
2762 ;CHECK: %27 = OpAccessChain %_ptr_UniformConstant_13 %images [[phi_result]] in TEST_F()
2763 ;CHECK: %28 = OpLoad %13 %27 in TEST_F()
2764 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2765 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2766 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2767 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2768 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5315 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2769 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}} %uint_2 %u… in TEST_F()
2770 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2771 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2772 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2773 ;CHECK: {{%\w+}} = OpLoad %13 %27 in TEST_F()
2774 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %20 in TEST_F()
2775 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2776 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2777 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2778 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2779 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
2780 ;CHECK: %30 = OpCompositeExtract %float {{%\w+}} 0 in TEST_F()
2781 ;CHECK: %31 = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
2782 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2783 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2784 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2785 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2786 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5315 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2787 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_55 {{%\w+}} %uint_2 %u… in TEST_F()
2788 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2789 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2790 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2791 ;CHECK: OpStore %31 %30 in TEST_F()
2792 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2793 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2794 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2795 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2828 ;CHECK: OpCapability Linkage in TEST_F()
2834 ;CHECK: OpEntryPoint ClosestHitNV %main "main" [[launch_id:%\w+]] in TEST_F()
2853 ;CHECK: OpDecorate [[launch_id]] BuiltIn LaunchIdNV in TEST_F()
2875 ;CHECK: [[launch_id]] = OpVariable %_ptr_Input_v3uint Input in TEST_F()
2876 ;CHECK: [[null_uint:%\w+]] = OpConstantNull %uint in TEST_F()
2877 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
2891 ;CHECK-NOT: %20 = OpLoad %uint %19 in TEST_F()
2892 ;CHECK-NOT: %22 = OpAccessChain %_ptr_UniformConstant_13 %images %20 in TEST_F()
2893 ;CHECK-NOT: %23 = OpLoad %13 %22 in TEST_F()
2894 ;CHECK-NOT: %27 = OpImageRead %v4float %23 %25 in TEST_F()
2895 ;CHECK-NOT: %29 = OpCompositeExtract %float %27 0 in TEST_F()
2896 ;CHECK-NOT: %31 = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
2897 ;CHECK-NOT: OpStore %31 %29 in TEST_F()
2898 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2899 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2900 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2901 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2902 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5316 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2903 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_49 {{%\w+}} %uint_1 %u… in TEST_F()
2904 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2905 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2906 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2907 ;CHECK: {{%\w+}} = OpLoad %uint %25 in TEST_F()
2908 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2909 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2910 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2911 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2912 ;CHECK: [[phi_result:%\w+]] = OpPhi %uint {{%\w+}} {{%\w+}} [[null_uint]] {{%\w+}} in TEST_F()
2913 ;CHECK: %27 = OpAccessChain %_ptr_UniformConstant_13 %images [[phi_result]] in TEST_F()
2914 ;CHECK: %28 = OpLoad %13 %27 in TEST_F()
2915 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2916 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2917 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2918 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2919 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5316 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2920 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}} %uint_1 %u… in TEST_F()
2921 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2922 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2923 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2924 ;CHECK: {{%\w+}} = OpLoad %13 %27 in TEST_F()
2925 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %20 in TEST_F()
2926 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2927 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2928 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2929 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2930 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
2931 ;CHECK: %30 = OpCompositeExtract %float {{%\w+}} 0 in TEST_F()
2932 ;CHECK: %31 = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
2933 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
2934 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
2935 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
2936 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
2937 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5316 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2938 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_55 {{%\w+}} %uint_1 %u… in TEST_F()
2939 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
2940 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
2941 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2942 ;CHECK: OpStore %31 %30 in TEST_F()
2943 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2944 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2945 ;CHECK: OpBranch {{%\w+}} in TEST_F()
2946 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
2979 ;CHECK: OpCapability Linkage in TEST_F()
2985 ;CHECK: OpEntryPoint MissNV %main "main" [[launch_id:%\w+]] in TEST_F()
3004 ;CHECK: OpDecorate [[launch_id]] BuiltIn LaunchIdNV in TEST_F()
3026 ;CHECK: [[launch_id]] = OpVariable %_ptr_Input_v3uint Input in TEST_F()
3027 ;CHECK: [[null_uint:%\w+]] = OpConstantNull %uint in TEST_F()
3028 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
3042 ;CHECK-NOT: %20 = OpLoad %uint %19 in TEST_F()
3043 ;CHECK-NOT: %22 = OpAccessChain %_ptr_UniformConstant_13 %images %20 in TEST_F()
3044 ;CHECK-NOT: %27 = OpImageRead %v4float %23 %25 in TEST_F()
3045 ;CHECK-NOT: %29 = OpCompositeExtract %float %27 0 in TEST_F()
3046 ;CHECK-NOT OpStore %31 %29 in TEST_F()
3047 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
3048 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3049 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3050 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
3051 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5317 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3052 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_49 {{%\w+}} %uint_1 %u… in TEST_F()
3053 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3054 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3055 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3056 ;CHECK: {{%\w+}} = OpLoad %uint %25 in TEST_F()
3057 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3058 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3059 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3060 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3061 ;CHECK: [[phi_result:%\w+]] = OpPhi %uint {{%\w+}} {{%\w+}} [[null_uint]] {{%\w+}} in TEST_F()
3062 ;CHECK: %27 = OpAccessChain %_ptr_UniformConstant_13 %images [[phi_result]] in TEST_F()
3063 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
3064 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3065 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3066 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
3067 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5317 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3068 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}} %uint_1 %u… in TEST_F()
3069 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3070 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3071 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3072 ;CHECK: {{%\w+}} = OpLoad %13 %27 in TEST_F()
3073 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %20 in TEST_F()
3074 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3075 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3076 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3077 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3078 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
3079 ;CHECK: %30 = OpCompositeExtract %float {{%\w+}} 0 in TEST_F()
3080 ;CHECK: %31 = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
3081 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
3082 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3083 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3084 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
3085 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5317 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3086 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_55 {{%\w+}} %uint_1 %u… in TEST_F()
3087 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3088 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3089 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3090 ;CHECK: OpStore %31 %30 in TEST_F()
3091 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3092 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3093 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3094 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3127 ;CHECK: OpCapability Linkage in TEST_F()
3133 ;CHECK: OpEntryPoint CallableNV %main "main" [[launch_id:%\w+]] in TEST_F()
3152 ;CHECK: OpDecorate [[launch_id]] BuiltIn LaunchIdNV in TEST_F()
3174 ;CHECK: [[null_uint:%\w+]] = OpConstantNull %uint in TEST_F()
3175 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
3187 ;CHECK-NOT: %20 = OpLoad %uint %19 in TEST_F()
3188 ;CHECK-NOT: %22 = OpAccessChain %_ptr_UniformConstant_13 %images %20 in TEST_F()
3189 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
3190 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3191 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3192 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
3193 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5318 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3194 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_49 {{%\w+}} %uint_1 %u… in TEST_F()
3195 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3196 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3197 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3198 ;CHECK: {{%\w+}} = OpLoad %uint %25 in TEST_F()
3199 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3200 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3201 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3202 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3203 ;CHECK: {{%\w+}} = OpPhi %uint {{%\w+}} {{%\w+}} [[null_uint]] {{%\w+}} in TEST_F()
3204 ;CHECK: %27 = OpAccessChain %_ptr_UniformConstant_13 %images {{%\w+}} in TEST_F()
3205 ;CHECK-NOT: %23 = OpLoad %13 %22 in TEST_F()
3206 ;CHECK-NOT: %27 = OpImageRead %v4float %23 %25 in TEST_F()
3207 ;CHECK-NOT: %29 = OpCompositeExtract %float %27 0 in TEST_F()
3208 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
3209 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3210 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3211 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
3212 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5318 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3213 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}} %uint_1 %u… in TEST_F()
3214 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3215 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3216 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3217 ;CHECK: {{%\w+}} = OpLoad %13 %27 in TEST_F()
3218 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %20 in TEST_F()
3219 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3220 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3221 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3222 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3223 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
3224 ;CHECK: %30 = OpCompositeExtract %float {{%\w+}} 0 in TEST_F()
3225 ;CHECK: %31 = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
3228 ;CHECK-NOT: %31 = OpAccessChain %_ptr_Uniform_float %sbo %int_1 in TEST_F()
3229 ;CHECK-NOT: OpStore %31 %29 in TEST_F()
3230 ;CHECK: {{%\w+}} = OpLoad %v3uint {{%\w+}} in TEST_F()
3231 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3232 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3233 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 2 in TEST_F()
3234 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_5318 {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3235 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_55 {{%\w+}} %uint_1 %u… in TEST_F()
3236 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3237 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3238 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3239 ;CHECK: OpStore %31 %30 in TEST_F()
3240 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3241 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3242 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3243 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3286 ;CHECK: OpCapability Linkage in TEST_F()
3291 ;CHECK: OpEntryPoint Fragment %main "main" %inTexcoord %outColor %gl_FragCoord in TEST_F()
3321 ;CHECK: OpDecorate {{%\w+}} NonUniform in TEST_F()
3322 ;CHECK: OpDecorate {{%\w+}} NonUniform in TEST_F()
3324 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
3325 ;CHECK: OpDecorate [[desc_state_result:%\w+]] NonUniform in TEST_F()
3357 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
3358 ;CHECK: [[null_v2float:%\w+]] = OpConstantNull %v2float in TEST_F()
3376 ;CHECK-NOT: %34 = OpImageSampleImplicitLod %v4float %28 %32 in TEST_F()
3377 ;CHECK-NOT: %36 = OpCompositeExtract %float %34 0 in TEST_F()
3378 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
3379 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
3380 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3381 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3382 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
3383 ;CHECK: {{%\w+}} = OpBitcast %uint %19 in TEST_F()
3384 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_80 {{%\w+}} %uint_1 %u… in TEST_F()
3385 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3386 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3387 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3388 ;CHECK: {{%\w+}} = OpLoad %13 %21 in TEST_F()
3389 ;CHECK: {{%\w+}} = OpSampledImage %27 {{%\w+}} %26 in TEST_F()
3390 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %32 in TEST_F()
3391 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3392 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3393 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3394 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3395 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
3404 ;CHECK-NOT: %48 = OpLoad %v2float %47 in TEST_F()
3405 ;CHECK-NOT: %49 = OpFMul %v2float %42 %48 in TEST_F()
3406 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
3407 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
3408 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3409 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3410 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
3411 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_88 {{%\w+}} %uint_1 %u… in TEST_F()
3412 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3413 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3414 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3415 ;CHECK: {{%\w+}} = OpLoad %v2float %47 in TEST_F()
3416 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3417 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3418 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3419 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3420 ;CHECK: [[phi_result:%\w+]] = OpPhi %v2float {{%\w+}} {{%\w+}} [[null_v2float]] {{%\w+}} in TEST_F()
3421 ;CHECK: %49 = OpFMul %v2float %42 [[phi_result]] in TEST_F()
3425 ;CHECK-NOT: %50 = OpImageSampleImplicitLod %v4float %41 %49 in TEST_F()
3426 ;CHECK-NOT: %51 = OpCompositeExtract %float %50 0 in TEST_F()
3427 ;CHECK: {{%\w+}} = OpSampledImage %27 %39 %40 in TEST_F()
3428 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
3429 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
3430 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3431 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3432 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
3433 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_90 {{%\w+}} %uint_1 %u… in TEST_F()
3434 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3435 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3436 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3437 ;CHECK: {{%\w+}} = OpLoad %13 %uniformTex in TEST_F()
3438 ;CHECK: {{%\w+}} = OpSampledImage %27 {{%\w+}} %40 in TEST_F()
3439 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %49 in TEST_F()
3440 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3441 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3442 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3443 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3444 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
3445 ;CHECK: %51 = OpCompositeExtract %float {{%\w+}} 0 in TEST_F()
3462 // Check that uniform refs do not go out-of-bounds. All checks use same input in TEST_F()
3501 ;CHECK: OpCapability Linkage in TEST_F()
3505 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %_ %__0 %g_tColor %g_sAniso %i_vTextureCoords %_entr… in TEST_F()
3534 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
3565 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
3566 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
3567 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
3568 ;CHECK: [[null_v2float:%\w+]] = OpConstantNull %v2float in TEST_F()
3581 ;CHECK-NOT: %87 = OpLoad %v2float %86 in TEST_F()
3582 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3583 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 %uint_7 in TEST_F()
3584 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
3585 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
3586 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3587 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3588 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
3589 ;CHECK: [[desc_state_result:%\w+]] = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_72 {… in TEST_F()
3590 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3591 ;CHECK: OpBranchConditional [[desc_state_result]] {{%\w+}} {{%\w+}} in TEST_F()
3592 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3593 ;CHECK: {{%\w+}} = OpLoad %v2float %86 in TEST_F()
3594 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3595 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3596 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3597 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3598 ;CHECK: {{%\w+}} = OpPhi %v2float {{%\w+}} {{%\w+}} [[null_v2float]] {{%\w+}} in TEST_F()
3603 ;CHECK-NOT: %90 = OpLoad %v2float %89 in TEST_F()
3604 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_8 %uint_7 in TEST_F()
3605 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
3606 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
3607 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3608 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3609 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
3610 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_76 {{%\w+}} %uint_0 %u… in TEST_F()
3611 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3612 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3613 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3614 ;CHECK: {{%\w+}} = OpLoad %v2float %89 in TEST_F()
3615 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3616 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3617 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3618 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3619 ;CHECK: {{%\w+}} = OpPhi %v2float {{%\w+}} {{%\w+}} [[null_v2float]] {{%\w+}} in TEST_F()
3623 ;CHECK-NOT: %115 = OpPhi %v2float %87 %85 %90 %88 in TEST_F()
3624 ;CHECK: %115 = OpPhi %v2float {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3642 // Check that uniform array ref does not go out-of-bounds. in TEST_F()
3680 ;CHECK: OpCapability Linkage in TEST_F()
3720 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
3754 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
3755 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
3756 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
3757 ;CHECK: [[null_v2float:%\w+]] = OpConstantNull %v2float in TEST_F()
3766 ;CHECK-NOT: %82 = OpLoad %v2float %81 in TEST_F()
3767 ;CHECK: {{%\w+}} = OpIMul %uint %uint_80 %80 in TEST_F()
3768 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 {{%\w+}} in TEST_F()
3769 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_64 in TEST_F()
3770 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_7 in TEST_F()
3771 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
3772 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
3773 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3774 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3775 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
3776 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_79 {{%\w+}} %uint_0 %u… in TEST_F()
3777 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3778 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3779 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3780 ;CHECK: {{%\w+}} = OpLoad %v2float %81 in TEST_F()
3781 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3782 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3783 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3784 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3785 ;CHECK: {{%\w+}} = OpPhi %v2float {{%\w+}} {{%\w+}} [[null_v2float]] {{%\w+}} in TEST_F()
3787 ;CHECK-NOT: %86 = OpFAdd %v2float %66 %82 in TEST_F()
3788 ;CHECK: %86 = OpFAdd %v2float %66 {{%\w+}} in TEST_F()
3813 ;CHECK: OpCapability Linkage in TEST_F()
3817 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %_ %__0 %g_tColor %g_sAniso %i_vTextureCoords %_entr… in TEST_F()
3854 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
3888 ;CHECK: %v4uint = OpTypeVector %uint 4 in TEST_F()
3889 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
3890 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
3891 ;CHECK: [[null_v2float:%\w+]] = OpConstantNull %v2float in TEST_F()
3892 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
3902 ;CHECK-NOT: %82 = OpLoad %v2float %81 in TEST_F()
3903 ;CHECK-NOT: %86 = OpFAdd %v2float %66 %82 in TEST_F()
3904 ;CHECK: {{%\w+}} = OpIMul %uint %uint_80 %80 in TEST_F()
3905 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 {{%\w+}} in TEST_F()
3906 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_64 in TEST_F()
3907 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_7 in TEST_F()
3908 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
3909 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
3910 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3911 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3912 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
3913 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_79 {{%\w+}} %uint_0 %u… in TEST_F()
3914 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3915 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3916 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3917 ;CHECK: {{%\w+}} = OpLoad %v2float %81 in TEST_F()
3918 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3919 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3920 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3921 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3922 ;CHECK: {{%\w+}} = OpPhi %v2float {{%\w+}} {{%\w+}} [[null_v2float]] {{%\w+}} in TEST_F()
3923 ;CHECK: %86 = OpFAdd %v2float %66 {{%\w+}} in TEST_F()
3929 ;CHECK-NOT: %91 = OpImageSampleImplicitLod %v4float %89 %86 in TEST_F()
3930 ;CHECK-NOT: OpStore %_entryPointOutput_vColor %91 in TEST_F()
3931 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
3932 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
3933 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
3934 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
3935 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
3936 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_84 {{%\w+}} %uint_0 %u… in TEST_F()
3937 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
3938 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
3939 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3940 ;CHECK: {{%\w+}} = OpLoad %46 %g_tColor in TEST_F()
3941 ;CHECK: {{%\w+}} = OpSampledImage %54 {{%\w+}} %88 in TEST_F()
3942 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %86 in TEST_F()
3943 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3944 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3945 ;CHECK: OpBranch {{%\w+}} in TEST_F()
3946 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
3947 ;CHECK: {{%\w+}} = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
3948 ;CHECK: OpStore %_entryPointOutput_vColor {{%\w+}} in TEST_F()
3960 // Check that descriptor indexed with 16bit index is inbounds and in TEST_F()
3970 ;CHECK: OpCapability Linkage in TEST_F()
3974 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %g_tColor %_ %g_sAniso %i_vTextureCoords %_entryPoin… in TEST_F()
3994 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
4022 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
4023 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
4024 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
4028 ;CHECK: OpBranch %39 in TEST_F()
4029 ;CHECK: %39 = OpLabel in TEST_F()
4039 ;CHECK-NOT: %38 = OpImageSampleImplicitLod %v4float %37 %31 in TEST_F()
4040 ;CHECK-NOT: OpStore %_entryPointOutput_vColor %38 in TEST_F()
4041 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
4042 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
4043 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
4044 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
4045 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4046 ;CHECK: {{%\w+}} = OpUConvert %uint %33 in TEST_F()
4047 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_61 {{%\w+}} %uint_1 %u… in TEST_F()
4048 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4049 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
4050 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4051 ;CHECK: {{%\w+}} = OpLoad %16 %34 in TEST_F()
4052 ;CHECK: {{%\w+}} = OpSampledImage %27 {{%\w+}} %36 in TEST_F()
4053 ;CHECK: {{%\w+}} = OpImageSampleImplicitLod %v4float {{%\w+}} %31 in TEST_F()
4054 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4055 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4056 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4057 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4058 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
4059 ;CHECK: OpStore %_entryPointOutput_vColor [[phi_result]] in TEST_F()
4071 // Check that uniform array ref with 16bit index does not go out-of-bounds. in TEST_F()
4111 ;CHECK: OpCapability Linkage in TEST_F()
4115 ;CHECK: OpEntryPoint Fragment %MainPs "MainPs" %_ %__0 %g_tColor %g_sAniso %i_vTextureCoords %_entr… in TEST_F()
4152 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
4187 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
4188 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
4189 ;CHECK: [[null_v2float:%\w+]] = OpConstantNull %v2float in TEST_F()
4199 ;CHECK-NOT: %42 = OpLoad %v2float %41 in TEST_F()
4200 ;CHECK-NOT: %43 = OpFAdd %v2float %38 %42 in TEST_F()
4201 ;CHECK: {{%\w+}} = OpUConvert %uint %40 in TEST_F()
4202 ;CHECK: {{%\w+}} = OpIMul %uint %uint_80 {{%\w+}} in TEST_F()
4203 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 {{%\w+}} in TEST_F()
4204 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_64 in TEST_F()
4205 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_7 in TEST_F()
4206 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
4207 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
4208 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
4209 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
4210 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4211 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_82 {{%\w+}} %uint_0 %u… in TEST_F()
4212 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4213 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
4214 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4215 ;CHECK: {{%\w+}} = OpLoad %v2float %41 in TEST_F()
4216 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4217 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4218 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4219 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4220 ;CHECK: {{%\w+}} = OpPhi %v2float {{%\w+}} {{%\w+}} [[null_v2float]] {{%\w+}} in TEST_F()
4221 ;CHECK: %43 = OpFAdd %v2float %38 {{%\w+}} in TEST_F()
4238 // The buffer-oob row major matrix check in TEST_F()
4259 ;CHECK: OpCapability Linkage in TEST_F()
4263 ;CHECK: OpEntryPoint Vertex %main "main" %v_vtxResult %_ %a_position %gl_VertexIndex %gl_InstanceIn… in TEST_F()
4282 ;CHECK-NOT: OpDecorate %21 RelaxedPrecision in TEST_F()
4283 ;CHECK: OpDecorate %v_vtxResult RelaxedPrecision in TEST_F()
4284 ;CHECK: OpDecorate [[phi_result:%\w+]] RelaxedPrecision in TEST_F()
4287 ;CHECK: OpDecorate %gl_VertexIndex BuiltIn VertexIndex in TEST_F()
4288 ;CHECK: OpDecorate %gl_InstanceIndex BuiltIn InstanceIndex in TEST_F()
4289 ;CHECK: OpDecorate [[load_result:%\w+]] RelaxedPrecision in TEST_F()
4309 ;CHECK: %_ptr_Input_uint = OpTypePointer Input %uint in TEST_F()
4310 ;CHECK: %gl_VertexIndex = OpVariable %_ptr_Input_uint Input in TEST_F()
4311 ;CHECK: %gl_InstanceIndex = OpVariable %_ptr_Input_uint Input in TEST_F()
4312 ;CHECK: [[null_float:%\w+]] = OpConstantNull %float in TEST_F()
4316 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4317 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4320 ;CHECK-NOT: %21 = OpLoad %float %20 in TEST_F()
4321 ;CHECK: {{%\w+}} = OpIMul %uint %uint_4 %int_2 in TEST_F()
4322 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 {{%\w+}} in TEST_F()
4323 ;CHECK: {{%\w+}} = OpIMul %uint %uint_16 %uint_1 in TEST_F()
4324 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} {{%\w+}} in TEST_F()
4325 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_3 in TEST_F()
4326 ;CHECK: {{%\w+}} = OpLoad %uint %gl_VertexIndex in TEST_F()
4327 ;CHECK: {{%\w+}} = OpLoad %uint %gl_InstanceIndex in TEST_F()
4328 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_0 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4329 ;CHECK: [[desc_state:%\w+]] = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_46 {{%\w+}}… in TEST_F()
4330 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4331 ;CHECK: OpBranchConditional [[desc_state]] {{%\w+}} {{%\w+}} in TEST_F()
4332 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4333 ;CHECK: [[load_result]] = OpLoad %float %20 in TEST_F()
4334 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4335 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4336 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4337 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4338 ;CHECK: [[phi_result]] = OpPhi %float [[load_result]] {{%\w+}} [[null_float]] {{%\w+}} in TEST_F()
4340 ;CHECK-NOT: OpStore %v_vtxResult %21$ in TEST_F()
4341 ;CHECK: OpStore %v_vtxResult [[phi_result]] in TEST_F()
4353 // The buffer-oob column major matrix check in TEST_F()
4374 ;CHECK: OpCapability Linkage in TEST_F()
4378 ;CHECK: OpEntryPoint Vertex %main "main" %v_vtxResult %_ %a_position %gl_VertexIndex %gl_InstanceIn… in TEST_F()
4397 ;CHECK-NOT: OpDecorate %21 RelaxedPrecision in TEST_F()
4398 ;CHECK: OpDecorate %v_vtxResult RelaxedPrecision in TEST_F()
4399 ;CHECK: OpDecorate [[phi_result:%\w+]] RelaxedPrecision in TEST_F()
4402 ;CHECK: OpDecorate %gl_VertexIndex BuiltIn VertexIndex in TEST_F()
4403 ;CHECK: OpDecorate %gl_InstanceIndex BuiltIn InstanceIndex in TEST_F()
4404 ;CHECK: OpDecorate [[load_result:%\w+]] RelaxedPrecision in TEST_F()
4424 ;CHECK: %_ptr_Input_uint = OpTypePointer Input %uint in TEST_F()
4425 ;CHECK: %gl_VertexIndex = OpVariable %_ptr_Input_uint Input in TEST_F()
4426 ;CHECK: %gl_InstanceIndex = OpVariable %_ptr_Input_uint Input in TEST_F()
4427 ;CHECK: [[null_float:%\w+]] = OpConstantNull %float in TEST_F()
4433 ;CHECK-NOT: %21 = OpLoad %float %20 in TEST_F()
4434 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4435 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4436 ;CHECK: {{%\w+}} = OpIMul %uint %uint_8 %int_2 in TEST_F()
4437 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 {{%\w+}} in TEST_F()
4438 ;CHECK: {{%\w+}} = OpIMul %uint %uint_4 %uint_1 in TEST_F()
4439 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} {{%\w+}} in TEST_F()
4440 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_3 in TEST_F()
4441 ;CHECK: {{%\w+}} = OpLoad %uint %gl_VertexIndex in TEST_F()
4442 ;CHECK: {{%\w+}} = OpLoad %uint %gl_InstanceIndex in TEST_F()
4443 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_0 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4444 ;CHECK: [[desc_state:%\w+]] = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_46 {{%\w+}}… in TEST_F()
4445 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4446 ;CHECK: OpBranchConditional [[desc_state]] {{%\w+}} {{%\w+}} in TEST_F()
4447 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4448 ;CHECK:[[load_result]] = OpLoad %float %20 in TEST_F()
4449 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4450 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4451 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4452 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4453 ;CHECK: [[phi_result]] = OpPhi %float [[load_result]] {{%\w+}} [[null_float]] {{%\w+}} in TEST_F()
4455 ;CHECK-NOT: OpStore %v_vtxResult %21$ in TEST_F()
4456 ;CHECK: OpStore %v_vtxResult [[phi_result]] in TEST_F()
4469 // The buffer-oob row major matrix vector ref check in TEST_F()
4490 ;CHECK: OpCapability Linkage in TEST_F()
4494 ;CHECK: OpEntryPoint Vertex %main "main" %v_vtxResult %_ %a_position %gl_VertexIndex %gl_InstanceIn… in TEST_F()
4514 ;CHECK-NOT: OpDecorate %26 RelaxedPrecision in TEST_F()
4515 ;CHECK: OpDecorate [[phi_result:%\w+]] RelaxedPrecision in TEST_F()
4518 ;CHECK: OpDecorate %gl_VertexIndex BuiltIn VertexIndex in TEST_F()
4519 ;CHECK: OpDecorate %gl_InstanceIndex BuiltIn InstanceIndex in TEST_F()
4520 ;CHECK: OpDecorate [[load_result:%\w+]] RelaxedPrecision in TEST_F()
4545 ;CHECK: %_ptr_Input_uint = OpTypePointer Input %uint in TEST_F()
4546 ;CHECK: %gl_VertexIndex = OpVariable %_ptr_Input_uint Input in TEST_F()
4547 ;CHECK: %gl_InstanceIndex = OpVariable %_ptr_Input_uint Input in TEST_F()
4548 ;CHECK: [[null_v2float:%\w+]] = OpConstantNull %v2float in TEST_F()
4553 ;CHECK: {{%\w+}} = OpIMul %uint %uint_128 %int_2 in TEST_F()
4554 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 {{%\w+}} in TEST_F()
4555 ;CHECK: {{%\w+}} = OpIMul %uint %uint_32 %int_3 in TEST_F()
4556 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} {{%\w+}} in TEST_F()
4557 ;CHECK: {{%\w+}} = OpIMul %uint %uint_4 %int_1 in TEST_F()
4558 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} {{%\w+}} in TEST_F()
4559 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_19 in TEST_F()
4560 ;CHECK: {{%\w+}} = OpLoad %uint %gl_VertexIndex in TEST_F()
4561 ;CHECK: {{%\w+}} = OpLoad %uint %gl_InstanceIndex in TEST_F()
4562 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_0 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4563 ;CHECK: [[desc_state:%\w+]] = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_52 {{%\w+}}… in TEST_F()
4566 ;CHECK-NOT: %26 = OpLoad %v2float %25 in TEST_F()
4567 ;CHECK-NOT: OpStore %v_vtxResult %26 in TEST_F()
4568 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4569 ;CHECK: OpBranchConditional [[desc_state]] {{%\w+}} {{%\w+}} in TEST_F()
4570 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4571 ;CHECK: [[load_result]] = OpLoad %v2float %25 in TEST_F()
4572 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4573 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4574 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4575 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4576 ;CHECK: [[phi_result]] = OpPhi %v2float [[load_result]] {{%\w+}} [[null_v2float]] {{%\w+}} in TEST_F()
4577 ;CHECK: OpStore %v_vtxResult [[phi_result]] in TEST_F()
4589 // Texel buffer (imagebuffer) oob check for ImageRead in TEST_F()
4604 ;CHECK: OpCapability Linkage in TEST_F()
4621 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
4634 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
4635 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
4636 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
4639 ;CHECK: OpBranch %19 in TEST_F()
4640 ;CHECK: %19 = OpLabel in TEST_F()
4645 ;CHECK-NOT: %18 = OpImageRead %v4float %13 %17 in TEST_F()
4646 ;CHECK-NOT: OpStore %x %18 in TEST_F()
4647 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
4648 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
4649 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
4650 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
4651 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4652 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_34 {{%\w+}} %uint_3 %u… in TEST_F()
4653 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4654 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
4655 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4656 ;CHECK: {{%\w+}} = OpLoad %10 %s in TEST_F()
4657 ;CHECK: {{%\w+}} = OpImageRead %v4float {{%\w+}} %17 in TEST_F()
4658 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4659 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4660 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4661 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4662 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
4663 ;CHECK: OpStore %x [[phi_result]] in TEST_F()
4675 // Texel buffer (imagebuffer) oob check for ImageWrite in TEST_F()
4690 ;CHECK: OpCapability Linkage in TEST_F()
4694 ;CHECK: OpEntryPoint Fragment %main "main" %s %ii %x %gl_FragCoord in TEST_F()
4708 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
4721 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
4722 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
4726 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4727 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4728 ;CHECK: %19 = OpLabel in TEST_F()
4733 ;CHECK-NOT: OpImageWrite %10 %14 %18 in TEST_F()
4734 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
4735 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
4736 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
4737 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
4738 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4739 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_35 {{%\w+}} %uint_3 %u… in TEST_F()
4740 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4741 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
4742 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4743 ;CHECK: {{%\w+}} = OpLoad %7 %s in TEST_F()
4744 ;CHECK: OpImageWrite {{%\w+}} %14 %18 in TEST_F()
4745 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4746 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4747 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4748 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4760 // Texel buffer (texturebuffer) oob check for ImageFetch in TEST_F()
4775 ;CHECK: OpCapability Linkage in TEST_F()
4779 ;CHECK: OpEntryPoint Fragment %main "main" %x %s %ii %gl_FragCoord in TEST_F()
4791 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
4804 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
4805 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
4806 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
4809 ;CHECK: OpBranch %19 in TEST_F()
4810 ;CHECK: %19 = OpLabel in TEST_F()
4815 ;CHECK-NOT: %18 = OpImageFetch %v4float %13 %17 in TEST_F()
4816 ;CHECK-NOT: OpStore %x %18 in TEST_F()
4817 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
4818 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
4819 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
4820 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
4821 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4822 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_33 {{%\w+}} %uint_3 %u… in TEST_F()
4823 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4824 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
4825 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4826 ;CHECK: {{%\w+}} = OpLoad %10 %s in TEST_F()
4827 ;CHECK: {{%\w+}} = OpImageFetch %v4float {{%\w+}} %17 in TEST_F()
4828 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4829 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4830 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4831 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4832 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
4833 ;CHECK: OpStore %x [[phi_result]] in TEST_F()
4845 // Texel buffer (samplerbuffer) oob check for ImageFetch in TEST_F()
4860 ;CHECK: OpCapability Linkage in TEST_F()
4864 ;CHECK: OpEntryPoint Fragment %main "main" %x %s %ii %gl_FragCoord in TEST_F()
4877 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
4891 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
4892 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
4893 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
4897 ;CHECK: OpBranch %21 in TEST_F()
4898 ;CHECK: %21 = OpLabel in TEST_F()
4904 ;CHECK-NOT: %20 = OpImageFetch %v4float %19 %18 in TEST_F()
4905 ;CHECK-NOT: OpStore %x %20 in TEST_F()
4906 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
4907 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
4908 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
4909 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
4910 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
4911 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_35 {{%\w+}} %uint_3 %u… in TEST_F()
4912 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
4913 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
4914 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4915 ;CHECK: {{%\w+}} = OpLoad %11 %s in TEST_F()
4916 ;CHECK: {{%\w+}} = OpImage %10 {{%\w+}} in TEST_F()
4917 ;CHECK: {{%\w+}} = OpImageFetch %v4float {{%\w+}} {{%\w+}} in TEST_F()
4918 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4919 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4920 ;CHECK: OpBranch {{%\w+}} in TEST_F()
4921 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
4922 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
4923 ;CHECK: OpStore %x [[phi_result]] in TEST_F()
4935 // Texel buffer (samplerbuffer constructor) oob check for ImageFetch in TEST_F()
4951 ;CHECK: OpCapability Linkage in TEST_F()
4955 ;CHECK: OpEntryPoint Fragment %main "main" %x %tBuf %s %ii %gl_FragCoord in TEST_F()
4971 ;CHECK: OpDecorate %gl_FragCoord BuiltIn FragCoord in TEST_F()
4988 ;CHECK: %_ptr_Input_v4float = OpTypePointer Input %v4float in TEST_F()
4989 ;CHECK: %gl_FragCoord = OpVariable %_ptr_Input_v4float Input in TEST_F()
4990 ;CHECK: [[null_v4float:%\w+]] = OpConstantNull %v4float in TEST_F()
5000 ;CHECK-NOT: %25 = OpImageFetch %v4float %24 %23 in TEST_F()
5001 ;CHECK-NOT: OpStore %x %25 in TEST_F()
5002 ;CHECK: {{%\w+}} = OpLoad %v4float %gl_FragCoord in TEST_F()
5003 ;CHECK: {{%\w+}} = OpBitcast %v4uint {{%\w+}} in TEST_F()
5004 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 0 in TEST_F()
5005 ;CHECK: {{%\w+}} = OpCompositeExtract %uint {{%\w+}} 1 in TEST_F()
5006 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_4 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
5007 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_43 {{%\w+}} %uint_3 %u… in TEST_F()
5008 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
5009 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
5010 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5011 ;CHECK: {{%\w+}} = OpLoad %10 %tBuf in TEST_F()
5012 ;CHECK: {{%\w+}} = OpSampledImage %18 {{%\w+}} %17 in TEST_F()
5013 ;CHECK: {{%\w+}} = OpImage %10 {{%\w+}} in TEST_F()
5014 ;CHECK: {{%\w+}} = OpImageFetch %v4float {{%\w+}} %23 in TEST_F()
5015 ;CHECK: OpBranch {{%\w+}} in TEST_F()
5016 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5017 ;CHECK: OpBranch {{%\w+}} in TEST_F()
5018 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5019 ;CHECK: [[phi_result:%\w+]] = OpPhi %v4float {{%\w+}} {{%\w+}} [[null_v4float]] {{%\w+}} in TEST_F()
5020 ;CHECK: OpStore %x [[phi_result]] in TEST_F()
5052 ;CHECK: OpCapability Linkage in TEST_F()
5053 ;CHECK: OpCapability Int64 in TEST_F()
5058 ;CHECK: OpEntryPoint Vertex %main "main" %u_info %gl_VertexIndex %gl_InstanceIndex in TEST_F()
5109 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_8 %uint_3 in TEST_F()
5110 ;CHECK: {{%\w+}} = OpLoad %uint %gl_VertexIndex in TEST_F()
5111 ;CHECK: {{%\w+}} = OpLoad %uint %gl_InstanceIndex in TEST_F()
5112 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_0 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
5113 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_56 {{%\w+}} %uint_0 %u… in TEST_F()
5114 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
5115 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
5116 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5117 ;CHECK: [[load_result:%\w+]] = OpLoad %int %26 in TEST_F()
5118 ;CHECK: OpBranch {{%\w+}} in TEST_F()
5119 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5120 ;CHECK: OpBranch {{%\w+}} in TEST_F()
5121 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5122 ;CHECK: [[phi_result:%\w+]] = OpPhi %int [[load_result]] {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
5125 ;CHECK-NOT: %27 = OpLoad %int %26 in TEST_F()
5126 ;CHECK-NOT: %29 = OpSLessThan %bool %15 %27 in TEST_F()
5127 ;CHECK: %29 = OpSLessThan %bool %15 [[phi_result]] in TEST_F()
5132 ;CHECK-NOT: %32 = OpLoad %_ptr_PhysicalStorageBuffer_bufStruct %31 in TEST_F()
5133 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 %uint_7 in TEST_F()
5134 ;CHECK: {{%\w+}} = OpLoad %uint %gl_VertexIndex in TEST_F()
5135 ;CHECK: {{%\w+}} = OpLoad %uint %gl_InstanceIndex in TEST_F()
5136 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_0 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
5137 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_61 {{%\w+}} %uint_0 %u… in TEST_F()
5138 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
5139 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
5140 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5141 ;CHECK: [[load_result_2:%\w+]] = OpLoad %_ptr_PhysicalStorageBuffer_bufStruct %31 in TEST_F()
5142 ;CHECK: OpBranch {{%\w+}} in TEST_F()
5143 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5144 ;CHECK: {{%\w+}} = OpConvertUToPtr %_ptr_PhysicalStorageBuffer_bufStruct {{%\w+}} in TEST_F()
5145 ;CHECK: OpBranch {{%\w+}} in TEST_F()
5146 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5147 ;CHECK: [[phi_result_2:%\w+]] = OpPhi %_ptr_PhysicalStorageBuffer_bufStruct [[load_result_2]] {{%\w… in TEST_F()
5150 ;CHECK-NOT: %36 = OpAccessChain %_ptr_PhysicalStorageBuffer_int %32 %int_0 %33 in TEST_F()
5151 ;CHECK: %36 = OpAccessChain %_ptr_PhysicalStorageBuffer_int [[phi_result_2]] %int_0 %33 in TEST_F()
5270 ;CHECK-NOT: %53 = OpLoad %uint %52 in TEST_F()
5271 ;CHECK: {{%\w+}} = OpIMul %uint %uint_16 %int_0 in TEST_F()
5272 ;CHECK: {{%\w+}} = OpIAdd %uint %uint_0 {{%\w+}} in TEST_F()
5273 ;CHECK: {{%\w+}} = OpIAdd %uint {{%\w+}} %uint_3 in TEST_F()
5274 ;CHECK: {{%\w+}} = OpLoad %int %gl_VertexIndex in TEST_F()
5275 ;CHECK: {{%\w+}} = OpBitcast %uint {{%\w+}} in TEST_F()
5276 ;CHECK: {{%\w+}} = OpLoad %uint %gl_InstanceIndex in TEST_F()
5277 ;CHECK: {{%\w+}} = OpCompositeConstruct %v4uint %uint_0 {{%\w+}} {{%\w+}} %uint_0 in TEST_F()
5278 ;CHECK: {{%\w+}} = OpFunctionCall %bool %)" + kFuncName + R"( %uint_23 %uint_87 {{%\w+}} %uint_0 %u… in TEST_F()
5279 ;CHECK: OpSelectionMerge {{%\w+}} None in TEST_F()
5280 ;CHECK: OpBranchConditional {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
5281 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5282 ;CHECK: {{%\w+}} = OpLoad %uint %52 in TEST_F()
5283 ;CHECK: OpBranch {{%\w+}} in TEST_F()
5284 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5285 ;CHECK: OpBranch {{%\w+}} in TEST_F()
5286 ;CHECK: {{%\w+}} = OpLabel in TEST_F()
5287 ;CHECK: [[phi_result:%\w+]] = OpPhi %uint {{%\w+}} {{%\w+}} {{%\w+}} {{%\w+}} in TEST_F()
5288 ;CHECK: OpStore %index [[phi_result]] in TEST_F()
5290 ;CHECK-NOT: OpStore %index %53 in TEST_F()
5292 ;CHECK: OpReturn in TEST_F()