| ; Test: SpvParserTest_RectifyOperandsAndResult_SAbs.spvasm | 
 | ; SPIR-V | 
 | ; Version: 1.0 | 
 | ; Generator: Khronos SPIR-V Tools Assembler; 0 | 
 | ; Bound: 101 | 
 | ; Schema: 0 | 
 | OpCapability Shader | 
 | %3 = OpExtInstImport "GLSL.std.450" | 
 | OpMemoryModel Logical GLSL450 | 
 | OpEntryPoint GLCompute %100 "main" | 
 | OpExecutionMode %100 LocalSize 1 1 1 | 
 | OpName %u1 "u1" | 
 | OpName %u2 "u2" | 
 | OpName %u3 "u3" | 
 | OpName %i1 "i1" | 
 | OpName %i2 "i2" | 
 | OpName %i3 "i3" | 
 | OpName %f1 "f1" | 
 | OpName %f2 "f2" | 
 | OpName %f3 "f3" | 
 | OpName %v2u1 "v2u1" | 
 | OpName %v2u2 "v2u2" | 
 | OpName %v2u3 "v2u3" | 
 | OpName %v2i1 "v2i1" | 
 | OpName %v2i2 "v2i2" | 
 | OpName %v2i3 "v2i3" | 
 | OpName %v2f1 "v2f1" | 
 | OpName %v2f2 "v2f2" | 
 | OpName %v2f3 "v2f3" | 
 | OpName %v3f1 "v3f1" | 
 | OpName %v3f2 "v3f2" | 
 | OpName %v4f1 "v4f1" | 
 | OpName %v4f2 "v4f2" | 
 | %void = OpTypeVoid | 
 | %27 = OpTypeFunction %void | 
 | %uint = OpTypeInt 32 0 | 
 | %int = OpTypeInt 32 1 | 
 | %float = OpTypeFloat 32 | 
 | %uint_10 = OpConstant %uint 10 | 
 | %uint_15 = OpConstant %uint 15 | 
 | %uint_20 = OpConstant %uint 20 | 
 | %int_30 = OpConstant %int 30 | 
 | %int_35 = OpConstant %int 35 | 
 | %int_40 = OpConstant %int 40 | 
 | %float_50 = OpConstant %float 50 | 
 | %float_60 = OpConstant %float 60 | 
 | %float_70 = OpConstant %float 70 | 
 | %v2uint = OpTypeVector %uint 2 | 
 | %v2int = OpTypeVector %int 2 | 
 | %v2float = OpTypeVector %float 2 | 
 | %v3float = OpTypeVector %float 3 | 
 | %v4float = OpTypeVector %float 4 | 
 | %45 = OpConstantComposite %v2uint %uint_10 %uint_20 | 
 | %46 = OpConstantComposite %v2uint %uint_20 %uint_10 | 
 | %47 = OpConstantComposite %v2uint %uint_15 %uint_15 | 
 | %48 = OpConstantComposite %v2int %int_30 %int_40 | 
 | %49 = OpConstantComposite %v2int %int_40 %int_30 | 
 | %50 = OpConstantComposite %v2int %int_35 %int_35 | 
 | %51 = OpConstantComposite %v2float %float_50 %float_60 | 
 | %52 = OpConstantComposite %v2float %float_60 %float_50 | 
 | %53 = OpConstantComposite %v2float %float_70 %float_70 | 
 | %54 = OpConstantComposite %v3float %float_50 %float_60 %float_70 | 
 | %55 = OpConstantComposite %v3float %float_60 %float_70 %float_50 | 
 | %56 = OpConstantComposite %v4float %float_50 %float_50 %float_50 %float_50 | 
 | %100 = OpFunction %void None %27 | 
 | %57 = OpLabel | 
 | %u1 = OpCopyObject %uint %uint_10 | 
 | %u2 = OpCopyObject %uint %uint_15 | 
 | %u3 = OpCopyObject %uint %uint_20 | 
 | %i1 = OpCopyObject %int %int_30 | 
 | %i2 = OpCopyObject %int %int_35 | 
 | %i3 = OpCopyObject %int %int_40 | 
 | %f1 = OpCopyObject %float %float_50 | 
 | %f2 = OpCopyObject %float %float_60 | 
 | %f3 = OpCopyObject %float %float_70 | 
 | %v2u1 = OpCopyObject %v2uint %45 | 
 | %v2u2 = OpCopyObject %v2uint %46 | 
 | %v2u3 = OpCopyObject %v2uint %47 | 
 | %v2i1 = OpCopyObject %v2int %48 | 
 | %v2i2 = OpCopyObject %v2int %49 | 
 | %v2i3 = OpCopyObject %v2int %50 | 
 | %v2f1 = OpCopyObject %v2float %51 | 
 | %v2f2 = OpCopyObject %v2float %52 | 
 | %v2f3 = OpCopyObject %v2float %53 | 
 | %v3f1 = OpCopyObject %v3float %54 | 
 | %v3f2 = OpCopyObject %v3float %55 | 
 | %v4f1 = OpCopyObject %v4float %56 | 
 | %v4f2 = OpCopyObject %v4float %v4f1 | 
 | %1 = OpExtInst %uint %3 SAbs %u1 | 
 | %2 = OpExtInst %v2uint %3 SAbs %v2u1 | 
 | OpReturn | 
 | OpFunctionEnd | 
 |  |