tint: Remove use of inf / nans from e2e tests
We're not supporting these, even as hex-floats. Replace them with finite
float values.
Bug: tint:1504
Change-Id: Id5e304d2bdd79576b68b43a1afb5cce2cd6ad01a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91967
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-sinh-negative-log2/0-opt.spvasm b/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-sinh-negative-log2/0-opt.spvasm
index f4303dd..d77e73e 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-sinh-negative-log2/0-opt.spvasm
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-sinh-negative-log2/0-opt.spvasm
@@ -1,105 +1,105 @@
- OpCapability Shader
- %1 = OpExtInstImport "GLSL.std.450"
- OpMemoryModel Logical GLSL450
- OpEntryPoint Fragment %main "main" %_GLF_color
- OpExecutionMode %main OriginUpperLeft
- OpSource ESSL 310
- OpName %main "main"
- OpName %undefined "undefined"
- OpName %buf0 "buf0"
- OpMemberName %buf0 0 "_GLF_uniform_int_values"
- OpName %_ ""
- OpName %buf1 "buf1"
- OpMemberName %buf1 0 "_GLF_uniform_float_values"
- OpName %__0 ""
- OpName %_GLF_color "_GLF_color"
- OpDecorate %_arr_int_uint_2 ArrayStride 16
- OpMemberDecorate %buf0 0 RelaxedPrecision
- OpMemberDecorate %buf0 0 Offset 0
- OpDecorate %buf0 Block
- OpDecorate %_ DescriptorSet 0
- OpDecorate %_ Binding 0
- OpDecorate %10 RelaxedPrecision
- OpDecorate %_arr_float_uint_1 ArrayStride 16
- OpMemberDecorate %buf1 0 Offset 0
- OpDecorate %buf1 Block
- OpDecorate %__0 DescriptorSet 0
- OpDecorate %__0 Binding 1
- OpDecorate %_GLF_color Location 0
- OpDecorate %12 RelaxedPrecision
- OpDecorate %13 RelaxedPrecision
- OpDecorate %14 RelaxedPrecision
- OpDecorate %15 RelaxedPrecision
- OpDecorate %16 RelaxedPrecision
- %void = OpTypeVoid
- %18 = OpTypeFunction %void
- %float = OpTypeFloat 32
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %_GLF_color
+ OpExecutionMode %main OriginUpperLeft
+ OpSource ESSL 310
+ OpName %main "main"
+ OpName %undefined "undefined"
+ OpName %buf0 "buf0"
+ OpMemberName %buf0 0 "_GLF_uniform_int_values"
+ OpName %_ ""
+ OpName %buf1 "buf1"
+ OpMemberName %buf1 0 "_GLF_uniform_float_values"
+ OpName %__0 ""
+ OpName %_GLF_color "_GLF_color"
+ OpDecorate %_arr_int_uint_2 ArrayStride 16
+ OpMemberDecorate %buf0 0 RelaxedPrecision
+ OpMemberDecorate %buf0 0 Offset 0
+ OpDecorate %buf0 Block
+ OpDecorate %_ DescriptorSet 0
+ OpDecorate %_ Binding 0
+ OpDecorate %10 RelaxedPrecision
+ OpDecorate %_arr_float_uint_1 ArrayStride 16
+ OpMemberDecorate %buf1 0 Offset 0
+ OpDecorate %buf1 Block
+ OpDecorate %__0 DescriptorSet 0
+ OpDecorate %__0 Binding 1
+ OpDecorate %_GLF_color Location 0
+ OpDecorate %12 RelaxedPrecision
+ OpDecorate %13 RelaxedPrecision
+ OpDecorate %14 RelaxedPrecision
+ OpDecorate %15 RelaxedPrecision
+ OpDecorate %16 RelaxedPrecision
+ %void = OpTypeVoid
+ %18 = OpTypeFunction %void
+ %float = OpTypeFloat 32
%_ptr_Function_float = OpTypePointer Function %float
-%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
- %bool = OpTypeBool
- %int = OpTypeInt 32 1
- %int_1 = OpConstant %int 1
- %uint = OpTypeInt 32 0
- %uint_2 = OpConstant %uint 2
-%_arr_int_uint_2 = OpTypeArray %int %uint_2
- %buf0 = OpTypeStruct %_arr_int_uint_2
-%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
- %_ = OpVariable %_ptr_Uniform_buf0 Uniform
- %int_0 = OpConstant %int 0
-%_ptr_Uniform_int = OpTypePointer Uniform %int
- %uint_1 = OpConstant %uint 1
-%_arr_float_uint_1 = OpTypeArray %float %uint_1
- %buf1 = OpTypeStruct %_arr_float_uint_1
-%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
- %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
-%_ptr_Uniform_float = OpTypePointer Uniform %float
- %v4float = OpTypeVector %float 4
+ %float_1 = OpConstant %float 1.0
+ %bool = OpTypeBool
+ %int = OpTypeInt 32 1
+ %int_1 = OpConstant %int 1
+ %uint = OpTypeInt 32 0
+ %uint_2 = OpConstant %uint 2
+ %_arr_int_uint_2 = OpTypeArray %int %uint_2
+ %buf0 = OpTypeStruct %_arr_int_uint_2
+ %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
+ %_ = OpVariable %_ptr_Uniform_buf0 Uniform
+ %int_0 = OpConstant %int 0
+ %_ptr_Uniform_int = OpTypePointer Uniform %int
+ %uint_1 = OpConstant %uint 1
+ %_arr_float_uint_1 = OpTypeArray %float %uint_1
+ %buf1 = OpTypeStruct %_arr_float_uint_1
+ %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
+ %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
+ %_ptr_Uniform_float = OpTypePointer Uniform %float
+ %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
- %_GLF_color = OpVariable %_ptr_Output_v4float Output
- %main = OpFunction %void None %18
- %35 = OpLabel
- %undefined = OpVariable %_ptr_Function_float Function
- %36 = OpExtInst %float %1 Sinh %float_0x1_8p_128
- OpStore %undefined %36
- %37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
- %10 = OpLoad %int %37
- %38 = OpIEqual %bool %int_1 %10
- %39 = OpLogicalNot %bool %38
- OpSelectionMerge %40 None
- OpBranchConditional %39 %41 %40
- %41 = OpLabel
- %42 = OpLoad %float %undefined
- %43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
- %44 = OpLoad %float %43
- %45 = OpFOrdGreaterThan %bool %42 %44
- OpBranch %40
- %40 = OpLabel
- %46 = OpPhi %bool %38 %35 %45 %41
- OpSelectionMerge %47 None
- OpBranchConditional %46 %48 %49
- %48 = OpLabel
- %50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
- %12 = OpLoad %int %50
- %51 = OpConvertSToF %float %12
- %52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
- %13 = OpLoad %int %52
- %53 = OpConvertSToF %float %13
- %54 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
- %14 = OpLoad %int %54
- %55 = OpConvertSToF %float %14
- %56 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
- %15 = OpLoad %int %56
- %57 = OpConvertSToF %float %15
- %58 = OpCompositeConstruct %v4float %51 %53 %55 %57
- OpStore %_GLF_color %58
- OpBranch %47
- %49 = OpLabel
- %59 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
- %16 = OpLoad %int %59
- %60 = OpConvertSToF %float %16
- %61 = OpCompositeConstruct %v4float %60 %60 %60 %60
- OpStore %_GLF_color %61
- OpBranch %47
- %47 = OpLabel
- OpReturn
- OpFunctionEnd
+ %_GLF_color = OpVariable %_ptr_Output_v4float Output
+ %main = OpFunction %void None %18
+ %35 = OpLabel
+ %undefined = OpVariable %_ptr_Function_float Function
+ %36 = OpExtInst %float %1 Sinh %float_1
+ OpStore %undefined %36
+ %37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
+ %10 = OpLoad %int %37
+ %38 = OpIEqual %bool %int_1 %10
+ %39 = OpLogicalNot %bool %38
+ OpSelectionMerge %40 None
+ OpBranchConditional %39 %41 %40
+ %41 = OpLabel
+ %42 = OpLoad %float %undefined
+ %43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
+ %44 = OpLoad %float %43
+ %45 = OpFOrdGreaterThan %bool %42 %44
+ OpBranch %40
+ %40 = OpLabel
+ %46 = OpPhi %bool %38 %35 %45 %41
+ OpSelectionMerge %47 None
+ OpBranchConditional %46 %48 %49
+ %48 = OpLabel
+ %50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
+ %12 = OpLoad %int %50
+ %51 = OpConvertSToF %float %12
+ %52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
+ %13 = OpLoad %int %52
+ %53 = OpConvertSToF %float %13
+ %54 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
+ %14 = OpLoad %int %54
+ %55 = OpConvertSToF %float %14
+ %56 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
+ %15 = OpLoad %int %56
+ %57 = OpConvertSToF %float %15
+ %58 = OpCompositeConstruct %v4float %51 %53 %55 %57
+ OpStore %_GLF_color %58
+ OpBranch %47
+ %49 = OpLabel
+ %59 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
+ %16 = OpLoad %int %59
+ %60 = OpConvertSToF %float %16
+ %61 = OpCompositeConstruct %v4float %60 %60 %60 %60
+ OpStore %_GLF_color %61
+ OpBranch %47
+ %47 = OpLabel
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-sinh-negative-log2/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-sinh-negative-log2/0-opt.wgsl
index 6fbdc83..2704791 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-sinh-negative-log2/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-sinh-negative-log2/0-opt.wgsl
@@ -30,7 +30,7 @@
var undefined : f32;
var x_45 : bool;
var x_46_phi : bool;
- undefined = sinh(0x1.8p+128);
+ undefined = sinh(1.0);
let x_10 : i32 = x_6.x_GLF_uniform_int_values[0].el;
let x_38 : bool = (1 == x_10);
x_46_phi = x_38;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-asin-undefined-smoothstep/0-opt.spvasm b/test/tint/vk-gl-cts/graphicsfuzz/cov-asin-undefined-smoothstep/0-opt.spvasm
index c686e93..0801da5 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-asin-undefined-smoothstep/0-opt.spvasm
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-asin-undefined-smoothstep/0-opt.spvasm
@@ -1,154 +1,154 @@
- OpCapability Shader
- %1 = OpExtInstImport "GLSL.std.450"
- OpMemoryModel Logical GLSL450
- OpEntryPoint Fragment %main "main" %_GLF_color
- OpExecutionMode %main OriginUpperLeft
- OpSource ESSL 310
- OpName %main "main"
- OpName %v1 "v1"
- OpName %buf0 "buf0"
- OpMemberName %buf0 0 "_GLF_uniform_float_values"
- OpName %_ ""
- OpName %v2 "v2"
- OpName %v3 "v3"
- OpName %v4 "v4"
- OpName %_GLF_color "_GLF_color"
- OpDecorate %_arr_float_uint_7 ArrayStride 16
- OpMemberDecorate %buf0 0 Offset 0
- OpDecorate %buf0 Block
- OpDecorate %_ DescriptorSet 0
- OpDecorate %_ Binding 0
- OpDecorate %_GLF_color Location 0
- %void = OpTypeVoid
- %12 = OpTypeFunction %void
- %float = OpTypeFloat 32
- %v4float = OpTypeVector %float 4
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %_GLF_color
+ OpExecutionMode %main OriginUpperLeft
+ OpSource ESSL 310
+ OpName %main "main"
+ OpName %v1 "v1"
+ OpName %buf0 "buf0"
+ OpMemberName %buf0 0 "_GLF_uniform_float_values"
+ OpName %_ ""
+ OpName %v2 "v2"
+ OpName %v3 "v3"
+ OpName %v4 "v4"
+ OpName %_GLF_color "_GLF_color"
+ OpDecorate %_arr_float_uint_7 ArrayStride 16
+ OpMemberDecorate %buf0 0 Offset 0
+ OpDecorate %buf0 Block
+ OpDecorate %_ DescriptorSet 0
+ OpDecorate %_ Binding 0
+ OpDecorate %_GLF_color Location 0
+ %void = OpTypeVoid
+ %12 = OpTypeFunction %void
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
%_ptr_Function_v4float = OpTypePointer Function %v4float
- %uint = OpTypeInt 32 0
- %uint_7 = OpConstant %uint 7
-%_arr_float_uint_7 = OpTypeArray %float %uint_7
- %buf0 = OpTypeStruct %_arr_float_uint_7
-%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
- %_ = OpVariable %_ptr_Uniform_buf0 Uniform
- %int = OpTypeInt 32 1
- %int_0 = OpConstant %int 0
- %int_2 = OpConstant %int 2
-%_ptr_Uniform_float = OpTypePointer Uniform %float
-%float_1_57079637 = OpConstant %float 1.57079637
-%float_1_11976957 = OpConstant %float 1.11976957
-%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
-%float_0_927295208 = OpConstant %float 0.927295208
- %27 = OpConstantComposite %v4float %float_1_57079637 %float_1_11976957 %float_0x1_8p_128 %float_0_927295208
-%_ptr_Output_v4float = OpTypePointer Output %v4float
- %_GLF_color = OpVariable %_ptr_Output_v4float Output
- %bool = OpTypeBool
- %uint_0 = OpConstant %uint 0
-%_ptr_Function_float = OpTypePointer Function %float
- %int_4 = OpConstant %int 4
- %int_5 = OpConstant %int 5
- %uint_1 = OpConstant %uint 1
- %int_3 = OpConstant %int 3
- %int_6 = OpConstant %int 6
- %uint_3 = OpConstant %uint 3
- %int_1 = OpConstant %int 1
- %main = OpFunction %void None %12
- %39 = OpLabel
- %v1 = OpVariable %_ptr_Function_v4float Function
- %v2 = OpVariable %_ptr_Function_v4float Function
- %v3 = OpVariable %_ptr_Function_v4float Function
- %v4 = OpVariable %_ptr_Function_v4float Function
- %40 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
- %41 = OpLoad %float %40
- %42 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
- %43 = OpLoad %float %42
- %44 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %45 = OpLoad %float %44
- %46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
- %47 = OpLoad %float %46
- %48 = OpCompositeConstruct %v4float %41 %43 %45 %47
- OpStore %v1 %48
- OpStore %v2 %27
- %49 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %50 = OpLoad %float %49
- %51 = OpCompositeConstruct %v4float %50 %50 %50 %50
- OpStore %v3 %51
- %52 = OpLoad %v4float %v1
- %53 = OpLoad %v4float %v2
- %54 = OpLoad %v4float %v3
- %55 = OpExtInst %v4float %1 SmoothStep %52 %53 %54
- OpStore %v4 %55
- %56 = OpLoad %v4float %v4
- %57 = OpVectorShuffle %v4float %56 %56 0 1 3 0
- OpStore %_GLF_color %57
- %58 = OpAccessChain %_ptr_Function_float %v4 %uint_0
- %59 = OpLoad %float %58
- %60 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_4
- %61 = OpLoad %float %60
- %62 = OpFOrdGreaterThan %bool %59 %61
- OpSelectionMerge %63 None
- OpBranchConditional %62 %64 %63
- %64 = OpLabel
- %65 = OpAccessChain %_ptr_Function_float %v4 %uint_0
- %66 = OpLoad %float %65
- %67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_5
- %68 = OpLoad %float %67
- %69 = OpFOrdLessThan %bool %66 %68
- OpBranch %63
- %63 = OpLabel
- %70 = OpPhi %bool %62 %39 %69 %64
- OpSelectionMerge %71 None
- OpBranchConditional %70 %72 %71
- %72 = OpLabel
- %73 = OpAccessChain %_ptr_Function_float %v4 %uint_1
- %74 = OpLoad %float %73
- %75 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_3
- %76 = OpLoad %float %75
- %77 = OpFOrdGreaterThan %bool %74 %76
- OpBranch %71
- %71 = OpLabel
- %78 = OpPhi %bool %70 %63 %77 %72
- OpSelectionMerge %79 None
- OpBranchConditional %78 %80 %79
- %80 = OpLabel
- %81 = OpAccessChain %_ptr_Function_float %v4 %uint_1
- %82 = OpLoad %float %81
- %83 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_6
- %84 = OpLoad %float %83
- %85 = OpFOrdLessThan %bool %82 %84
- OpBranch %79
- %79 = OpLabel
- %86 = OpPhi %bool %78 %71 %85 %80
- OpSelectionMerge %87 None
- OpBranchConditional %86 %88 %87
- %88 = OpLabel
- %89 = OpAccessChain %_ptr_Function_float %v4 %uint_3
- %90 = OpLoad %float %89
- %91 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %92 = OpLoad %float %91
- %93 = OpFOrdEqual %bool %90 %92
- OpBranch %87
- %87 = OpLabel
- %94 = OpPhi %bool %86 %79 %93 %88
- OpSelectionMerge %95 None
- OpBranchConditional %94 %96 %97
- %96 = OpLabel
- %98 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %99 = OpLoad %float %98
- %100 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
- %101 = OpLoad %float %100
- %102 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
- %103 = OpLoad %float %102
- %104 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %105 = OpLoad %float %104
- %106 = OpCompositeConstruct %v4float %99 %101 %103 %105
- OpStore %_GLF_color %106
- OpBranch %95
- %97 = OpLabel
- %107 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
- %108 = OpLoad %float %107
- %109 = OpCompositeConstruct %v4float %108 %108 %108 %108
- OpStore %_GLF_color %109
- OpBranch %95
- %95 = OpLabel
- OpReturn
- OpFunctionEnd
+ %uint = OpTypeInt 32 0
+ %uint_7 = OpConstant %uint 7
+ %_arr_float_uint_7 = OpTypeArray %float %uint_7
+ %buf0 = OpTypeStruct %_arr_float_uint_7
+ %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
+ %_ = OpVariable %_ptr_Uniform_buf0 Uniform
+ %int = OpTypeInt 32 1
+ %int_0 = OpConstant %int 0
+ %int_2 = OpConstant %int 2
+ %_ptr_Uniform_float = OpTypePointer Uniform %float
+ %float_1_57079637 = OpConstant %float 1.57079637
+ %float_1_11976957 = OpConstant %float 1.11976957
+ %float_1 = OpConstant %float 1.0
+ %float_0_927295208 = OpConstant %float 0.927295208
+ %27 = OpConstantComposite %v4float %float_1_57079637 %float_1_11976957 %float_1 %float_0_927295208
+ %_ptr_Output_v4float = OpTypePointer Output %v4float
+ %_GLF_color = OpVariable %_ptr_Output_v4float Output
+ %bool = OpTypeBool
+ %uint_0 = OpConstant %uint 0
+ %_ptr_Function_float = OpTypePointer Function %float
+ %int_4 = OpConstant %int 4
+ %int_5 = OpConstant %int 5
+ %uint_1 = OpConstant %uint 1
+ %int_3 = OpConstant %int 3
+ %int_6 = OpConstant %int 6
+ %uint_3 = OpConstant %uint 3
+ %int_1 = OpConstant %int 1
+ %main = OpFunction %void None %12
+ %39 = OpLabel
+ %v1 = OpVariable %_ptr_Function_v4float Function
+ %v2 = OpVariable %_ptr_Function_v4float Function
+ %v3 = OpVariable %_ptr_Function_v4float Function
+ %v4 = OpVariable %_ptr_Function_v4float Function
+ %40 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
+ %41 = OpLoad %float %40
+ %42 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
+ %43 = OpLoad %float %42
+ %44 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %45 = OpLoad %float %44
+ %46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
+ %47 = OpLoad %float %46
+ %48 = OpCompositeConstruct %v4float %41 %43 %45 %47
+ OpStore %v1 %48
+ OpStore %v2 %27
+ %49 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %50 = OpLoad %float %49
+ %51 = OpCompositeConstruct %v4float %50 %50 %50 %50
+ OpStore %v3 %51
+ %52 = OpLoad %v4float %v1
+ %53 = OpLoad %v4float %v2
+ %54 = OpLoad %v4float %v3
+ %55 = OpExtInst %v4float %1 SmoothStep %52 %53 %54
+ OpStore %v4 %55
+ %56 = OpLoad %v4float %v4
+ %57 = OpVectorShuffle %v4float %56 %56 0 1 3 0
+ OpStore %_GLF_color %57
+ %58 = OpAccessChain %_ptr_Function_float %v4 %uint_0
+ %59 = OpLoad %float %58
+ %60 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_4
+ %61 = OpLoad %float %60
+ %62 = OpFOrdGreaterThan %bool %59 %61
+ OpSelectionMerge %63 None
+ OpBranchConditional %62 %64 %63
+ %64 = OpLabel
+ %65 = OpAccessChain %_ptr_Function_float %v4 %uint_0
+ %66 = OpLoad %float %65
+ %67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_5
+ %68 = OpLoad %float %67
+ %69 = OpFOrdLessThan %bool %66 %68
+ OpBranch %63
+ %63 = OpLabel
+ %70 = OpPhi %bool %62 %39 %69 %64
+ OpSelectionMerge %71 None
+ OpBranchConditional %70 %72 %71
+ %72 = OpLabel
+ %73 = OpAccessChain %_ptr_Function_float %v4 %uint_1
+ %74 = OpLoad %float %73
+ %75 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_3
+ %76 = OpLoad %float %75
+ %77 = OpFOrdGreaterThan %bool %74 %76
+ OpBranch %71
+ %71 = OpLabel
+ %78 = OpPhi %bool %70 %63 %77 %72
+ OpSelectionMerge %79 None
+ OpBranchConditional %78 %80 %79
+ %80 = OpLabel
+ %81 = OpAccessChain %_ptr_Function_float %v4 %uint_1
+ %82 = OpLoad %float %81
+ %83 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_6
+ %84 = OpLoad %float %83
+ %85 = OpFOrdLessThan %bool %82 %84
+ OpBranch %79
+ %79 = OpLabel
+ %86 = OpPhi %bool %78 %71 %85 %80
+ OpSelectionMerge %87 None
+ OpBranchConditional %86 %88 %87
+ %88 = OpLabel
+ %89 = OpAccessChain %_ptr_Function_float %v4 %uint_3
+ %90 = OpLoad %float %89
+ %91 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %92 = OpLoad %float %91
+ %93 = OpFOrdEqual %bool %90 %92
+ OpBranch %87
+ %87 = OpLabel
+ %94 = OpPhi %bool %86 %79 %93 %88
+ OpSelectionMerge %95 None
+ OpBranchConditional %94 %96 %97
+ %96 = OpLabel
+ %98 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %99 = OpLoad %float %98
+ %100 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
+ %101 = OpLoad %float %100
+ %102 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
+ %103 = OpLoad %float %102
+ %104 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %105 = OpLoad %float %104
+ %106 = OpCompositeConstruct %v4float %99 %101 %103 %105
+ OpStore %_GLF_color %106
+ OpBranch %95
+ %97 = OpLabel
+ %107 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
+ %108 = OpLoad %float %107
+ %109 = OpCompositeConstruct %v4float %108 %108 %108 %108
+ OpStore %_GLF_color %109
+ OpBranch %95
+ %95 = OpLabel
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-asin-undefined-smoothstep/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-asin-undefined-smoothstep/0-opt.wgsl
index 0d9d1c0..7824aca 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-asin-undefined-smoothstep/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-asin-undefined-smoothstep/0-opt.wgsl
@@ -31,7 +31,7 @@
let x_45 : f32 = x_6.x_GLF_uniform_float_values[0].el;
let x_47 : f32 = x_6.x_GLF_uniform_float_values[2].el;
v1 = vec4<f32>(x_41, x_43, x_45, x_47);
- v2 = vec4<f32>(1.570796371, 1.119769573, 0x1.8p+128, 0.927295208);
+ v2 = vec4<f32>(1.570796371, 1.119769573, 1.0, 0.927295208);
let x_50 : f32 = x_6.x_GLF_uniform_float_values[0].el;
v3 = vec4<f32>(x_50, x_50, x_50, x_50);
let x_52 : vec4<f32> = v1;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.spvasm b/test/tint/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.spvasm
index b22a5e5..3058231 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.spvasm
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.spvasm
@@ -1,97 +1,97 @@
- OpCapability Shader
- %1 = OpExtInstImport "GLSL.std.450"
- OpMemoryModel Logical GLSL450
- OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color
- OpExecutionMode %main OriginUpperLeft
- OpSource ESSL 320
- OpName %main "main"
- OpName %f0 "f0"
- OpName %f1 "f1"
- OpName %gl_FragCoord "gl_FragCoord"
- OpName %buf0 "buf0"
- OpMemberName %buf0 0 "_GLF_uniform_float_values"
- OpName %_ ""
- OpName %_GLF_color "_GLF_color"
- OpName %buf1 "buf1"
- OpMemberName %buf1 0 "_GLF_uniform_int_values"
- OpName %__0 ""
- OpDecorate %gl_FragCoord BuiltIn FragCoord
- OpDecorate %_arr_float_uint_1 ArrayStride 16
- OpMemberDecorate %buf0 0 Offset 0
- OpDecorate %buf0 Block
- OpDecorate %_ DescriptorSet 0
- OpDecorate %_ Binding 0
- OpDecorate %_GLF_color Location 0
- OpDecorate %_arr_int_uint_2 ArrayStride 16
- OpMemberDecorate %buf1 0 Offset 0
- OpDecorate %buf1 Block
- OpDecorate %__0 DescriptorSet 0
- OpDecorate %__0 Binding 1
- %void = OpTypeVoid
- %14 = OpTypeFunction %void
- %float = OpTypeFloat 32
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color
+ OpExecutionMode %main OriginUpperLeft
+ OpSource ESSL 320
+ OpName %main "main"
+ OpName %f0 "f0"
+ OpName %f1 "f1"
+ OpName %gl_FragCoord "gl_FragCoord"
+ OpName %buf0 "buf0"
+ OpMemberName %buf0 0 "_GLF_uniform_float_values"
+ OpName %_ ""
+ OpName %_GLF_color "_GLF_color"
+ OpName %buf1 "buf1"
+ OpMemberName %buf1 0 "_GLF_uniform_int_values"
+ OpName %__0 ""
+ OpDecorate %gl_FragCoord BuiltIn FragCoord
+ OpDecorate %_arr_float_uint_1 ArrayStride 16
+ OpMemberDecorate %buf0 0 Offset 0
+ OpDecorate %buf0 Block
+ OpDecorate %_ DescriptorSet 0
+ OpDecorate %_ Binding 0
+ OpDecorate %_GLF_color Location 0
+ OpDecorate %_arr_int_uint_2 ArrayStride 16
+ OpMemberDecorate %buf1 0 Offset 0
+ OpDecorate %buf1 Block
+ OpDecorate %__0 DescriptorSet 0
+ OpDecorate %__0 Binding 1
+ %void = OpTypeVoid
+ %14 = OpTypeFunction %void
+ %float = OpTypeFloat 32
%_ptr_Function_float = OpTypePointer Function %float
-%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
- %v4float = OpTypeVector %float 4
-%_ptr_Input_v4float = OpTypePointer Input %v4float
-%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
- %uint = OpTypeInt 32 0
- %uint_0 = OpConstant %uint 0
-%_ptr_Input_float = OpTypePointer Input %float
- %uint_1 = OpConstant %uint 1
-%_arr_float_uint_1 = OpTypeArray %float %uint_1
- %buf0 = OpTypeStruct %_arr_float_uint_1
-%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
- %_ = OpVariable %_ptr_Uniform_buf0 Uniform
- %int = OpTypeInt 32 1
- %int_0 = OpConstant %int 0
-%_ptr_Uniform_float = OpTypePointer Uniform %float
- %bool = OpTypeBool
+ %float_1 = OpConstant %float 1.0
+ %v4float = OpTypeVector %float 4
+ %_ptr_Input_v4float = OpTypePointer Input %v4float
+ %gl_FragCoord = OpVariable %_ptr_Input_v4float Input
+ %uint = OpTypeInt 32 0
+ %uint_0 = OpConstant %uint 0
+ %_ptr_Input_float = OpTypePointer Input %float
+ %uint_1 = OpConstant %uint 1
+ %_arr_float_uint_1 = OpTypeArray %float %uint_1
+ %buf0 = OpTypeStruct %_arr_float_uint_1
+ %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
+ %_ = OpVariable %_ptr_Uniform_buf0 Uniform
+ %int = OpTypeInt 32 1
+ %int_0 = OpConstant %int 0
+ %_ptr_Uniform_float = OpTypePointer Uniform %float
+ %bool = OpTypeBool
%_ptr_Output_v4float = OpTypePointer Output %v4float
- %_GLF_color = OpVariable %_ptr_Output_v4float Output
- %uint_2 = OpConstant %uint 2
-%_arr_int_uint_2 = OpTypeArray %int %uint_2
- %buf1 = OpTypeStruct %_arr_int_uint_2
-%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
- %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
- %int_1 = OpConstant %int 1
-%_ptr_Uniform_int = OpTypePointer Uniform %int
- %main = OpFunction %void None %14
- %34 = OpLabel
- %f0 = OpVariable %_ptr_Function_float Function
- %f1 = OpVariable %_ptr_Function_float Function
- OpStore %f0 %float_0x1_8p_128
- %35 = OpLoad %float %f0
- %36 = OpExtInst %float %1 Fract %35
- OpStore %f1 %36
- %37 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
- %38 = OpLoad %float %37
- %39 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %40 = OpLoad %float %39
- %41 = OpFOrdGreaterThan %bool %38 %40
- OpSelectionMerge %42 None
- OpBranchConditional %41 %43 %44
- %43 = OpLabel
- %45 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
- %46 = OpLoad %int %45
- %47 = OpConvertSToF %float %46
- %48 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
- %49 = OpLoad %int %48
- %50 = OpConvertSToF %float %49
- %51 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
- %52 = OpLoad %int %51
- %53 = OpConvertSToF %float %52
- %54 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
- %55 = OpLoad %int %54
- %56 = OpConvertSToF %float %55
- %57 = OpCompositeConstruct %v4float %47 %50 %53 %56
- OpStore %_GLF_color %57
- OpBranch %42
- %44 = OpLabel
- %58 = OpLoad %float %f1
- %59 = OpCompositeConstruct %v4float %58 %58 %58 %58
- OpStore %_GLF_color %59
- OpBranch %42
- %42 = OpLabel
- OpReturn
- OpFunctionEnd
+ %_GLF_color = OpVariable %_ptr_Output_v4float Output
+ %uint_2 = OpConstant %uint 2
+ %_arr_int_uint_2 = OpTypeArray %int %uint_2
+ %buf1 = OpTypeStruct %_arr_int_uint_2
+ %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
+ %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
+ %int_1 = OpConstant %int 1
+ %_ptr_Uniform_int = OpTypePointer Uniform %int
+ %main = OpFunction %void None %14
+ %34 = OpLabel
+ %f0 = OpVariable %_ptr_Function_float Function
+ %f1 = OpVariable %_ptr_Function_float Function
+ OpStore %f0 %float_1
+ %35 = OpLoad %float %f0
+ %36 = OpExtInst %float %1 Fract %35
+ OpStore %f1 %36
+ %37 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
+ %38 = OpLoad %float %37
+ %39 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %40 = OpLoad %float %39
+ %41 = OpFOrdGreaterThan %bool %38 %40
+ OpSelectionMerge %42 None
+ OpBranchConditional %41 %43 %44
+ %43 = OpLabel
+ %45 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
+ %46 = OpLoad %int %45
+ %47 = OpConvertSToF %float %46
+ %48 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
+ %49 = OpLoad %int %48
+ %50 = OpConvertSToF %float %49
+ %51 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
+ %52 = OpLoad %int %51
+ %53 = OpConvertSToF %float %52
+ %54 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
+ %55 = OpLoad %int %54
+ %56 = OpConvertSToF %float %55
+ %57 = OpCompositeConstruct %v4float %47 %50 %53 %56
+ OpStore %_GLF_color %57
+ OpBranch %42
+ %44 = OpLabel
+ %58 = OpLoad %float %f1
+ %59 = OpCompositeConstruct %v4float %58 %58 %58 %58
+ OpStore %_GLF_color %59
+ OpBranch %42
+ %42 = OpLabel
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.wgsl
index a511274..a1321d9 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.wgsl
@@ -31,7 +31,7 @@
fn main_1() {
var f0 : f32;
var f1 : f32;
- f0 = 0x1.8p+128;
+ f0 = 1.0;
let x_35 : f32 = f0;
f1 = fract(x_35);
let x_38 : f32 = gl_FragCoord.x;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm
index 7349452..b26d30a 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm
@@ -1,93 +1,93 @@
- OpCapability Shader
- %1 = OpExtInstImport "GLSL.std.450"
- OpMemoryModel Logical GLSL450
- OpEntryPoint Fragment %main "main" %_GLF_color
- OpExecutionMode %main OriginUpperLeft
- OpSource ESSL 310
- OpName %main "main"
- OpName %_GLF_color "_GLF_color"
- OpName %buf0 "buf0"
- OpMemberName %buf0 0 "_GLF_uniform_int_values"
- OpName %_ ""
- OpName %a "a"
- OpName %buf1 "buf1"
- OpMemberName %buf1 0 "_GLF_uniform_float_values"
- OpName %__0 ""
- OpDecorate %_GLF_color Location 0
- OpDecorate %_arr_int_uint_2 ArrayStride 16
- OpMemberDecorate %buf0 0 RelaxedPrecision
- OpMemberDecorate %buf0 0 Offset 0
- OpDecorate %buf0 Block
- OpDecorate %_ DescriptorSet 0
- OpDecorate %_ Binding 0
- OpDecorate %10 RelaxedPrecision
- OpDecorate %11 RelaxedPrecision
- OpDecorate %12 RelaxedPrecision
- OpDecorate %13 RelaxedPrecision
- OpDecorate %_arr_float_uint_2 ArrayStride 16
- OpMemberDecorate %buf1 0 Offset 0
- OpDecorate %buf1 Block
- OpDecorate %__0 DescriptorSet 0
- OpDecorate %__0 Binding 1
- %void = OpTypeVoid
- %16 = OpTypeFunction %void
- %float = OpTypeFloat 32
- %v4float = OpTypeVector %float 4
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %_GLF_color
+ OpExecutionMode %main OriginUpperLeft
+ OpSource ESSL 310
+ OpName %main "main"
+ OpName %_GLF_color "_GLF_color"
+ OpName %buf0 "buf0"
+ OpMemberName %buf0 0 "_GLF_uniform_int_values"
+ OpName %_ ""
+ OpName %a "a"
+ OpName %buf1 "buf1"
+ OpMemberName %buf1 0 "_GLF_uniform_float_values"
+ OpName %__0 ""
+ OpDecorate %_GLF_color Location 0
+ OpDecorate %_arr_int_uint_2 ArrayStride 16
+ OpMemberDecorate %buf0 0 RelaxedPrecision
+ OpMemberDecorate %buf0 0 Offset 0
+ OpDecorate %buf0 Block
+ OpDecorate %_ DescriptorSet 0
+ OpDecorate %_ Binding 0
+ OpDecorate %10 RelaxedPrecision
+ OpDecorate %11 RelaxedPrecision
+ OpDecorate %12 RelaxedPrecision
+ OpDecorate %13 RelaxedPrecision
+ OpDecorate %_arr_float_uint_2 ArrayStride 16
+ OpMemberDecorate %buf1 0 Offset 0
+ OpDecorate %buf1 Block
+ OpDecorate %__0 DescriptorSet 0
+ OpDecorate %__0 Binding 1
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
- %_GLF_color = OpVariable %_ptr_Output_v4float Output
- %int = OpTypeInt 32 1
- %uint = OpTypeInt 32 0
- %uint_2 = OpConstant %uint 2
-%_arr_int_uint_2 = OpTypeArray %int %uint_2
- %buf0 = OpTypeStruct %_arr_int_uint_2
-%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
- %_ = OpVariable %_ptr_Uniform_buf0 Uniform
- %int_0 = OpConstant %int 0
-%_ptr_Uniform_int = OpTypePointer Uniform %int
- %int_1 = OpConstant %int 1
+ %_GLF_color = OpVariable %_ptr_Output_v4float Output
+ %int = OpTypeInt 32 1
+ %uint = OpTypeInt 32 0
+ %uint_2 = OpConstant %uint 2
+ %_arr_int_uint_2 = OpTypeArray %int %uint_2
+ %buf0 = OpTypeStruct %_arr_int_uint_2
+ %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
+ %_ = OpVariable %_ptr_Uniform_buf0 Uniform
+ %int_0 = OpConstant %int 0
+ %_ptr_Uniform_int = OpTypePointer Uniform %int
+ %int_1 = OpConstant %int 1
%_ptr_Function_float = OpTypePointer Function %float
-%_arr_float_uint_2 = OpTypeArray %float %uint_2
- %buf1 = OpTypeStruct %_arr_float_uint_2
-%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
- %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
-%_ptr_Uniform_float = OpTypePointer Uniform %float
-%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
- %bool = OpTypeBool
- %uint_1 = OpConstant %uint 1
-%_ptr_Output_float = OpTypePointer Output %float
- %main = OpFunction %void None %16
- %34 = OpLabel
- %a = OpVariable %_ptr_Function_float Function
- %35 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
- %10 = OpLoad %int %35
- %36 = OpConvertSToF %float %10
- %37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
- %11 = OpLoad %int %37
- %38 = OpConvertSToF %float %11
- %39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
- %12 = OpLoad %int %39
- %40 = OpConvertSToF %float %12
- %41 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
- %13 = OpLoad %int %41
- %42 = OpConvertSToF %float %13
- %43 = OpCompositeConstruct %v4float %36 %38 %40 %42
- OpStore %_GLF_color %43
- %44 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1
- %45 = OpLoad %float %44
- %46 = OpFMod %float %45 %float_0x1_8p_128
- OpStore %a %46
- %47 = OpLoad %float %a
- %48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
- %49 = OpLoad %float %48
- %50 = OpFOrdNotEqual %bool %47 %49
- OpSelectionMerge %51 None
- OpBranchConditional %50 %52 %51
- %52 = OpLabel
- %53 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
- %54 = OpLoad %float %53
- %55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
- OpStore %55 %54
- OpBranch %51
- %51 = OpLabel
- OpReturn
- OpFunctionEnd
+ %_arr_float_uint_2 = OpTypeArray %float %uint_2
+ %buf1 = OpTypeStruct %_arr_float_uint_2
+ %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
+ %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
+ %_ptr_Uniform_float = OpTypePointer Uniform %float
+ %float_1 = OpConstant %float 1.0
+ %bool = OpTypeBool
+ %uint_1 = OpConstant %uint 1
+ %_ptr_Output_float = OpTypePointer Output %float
+ %main = OpFunction %void None %16
+ %34 = OpLabel
+ %a = OpVariable %_ptr_Function_float Function
+ %35 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
+ %10 = OpLoad %int %35
+ %36 = OpConvertSToF %float %10
+ %37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
+ %11 = OpLoad %int %37
+ %38 = OpConvertSToF %float %11
+ %39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
+ %12 = OpLoad %int %39
+ %40 = OpConvertSToF %float %12
+ %41 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
+ %13 = OpLoad %int %41
+ %42 = OpConvertSToF %float %13
+ %43 = OpCompositeConstruct %v4float %36 %38 %40 %42
+ OpStore %_GLF_color %43
+ %44 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1
+ %45 = OpLoad %float %44
+ %46 = OpFMod %float %45 %float_1
+ OpStore %a %46
+ %47 = OpLoad %float %a
+ %48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
+ %49 = OpLoad %float %48
+ %50 = OpFOrdNotEqual %bool %47 %49
+ OpSelectionMerge %51 None
+ OpBranchConditional %50 %52 %51
+ %52 = OpLabel
+ %53 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
+ %54 = OpLoad %float %53
+ %55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
+ OpStore %55 %54
+ OpBranch %51
+ %51 = OpLabel
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.wgsl
index 6eb2fb0..226454a 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.wgsl
@@ -34,7 +34,7 @@
let x_13 : i32 = x_5.x_GLF_uniform_int_values[0].el;
x_GLF_color = vec4<f32>(f32(x_10), f32(x_11), f32(x_12), f32(x_13));
let x_45 : f32 = x_8.x_GLF_uniform_float_values[1].el;
- a = (x_45 - (0x1.8p+128 * floor((x_45 / 0x1.8p+128))));
+ a = (x_45 - (1.0 * floor((x_45 / 1.0))));
let x_47 : f32 = a;
let x_49 : f32 = x_8.x_GLF_uniform_float_values[0].el;
if ((x_47 != x_49)) {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm
index 4be551c..e954e6a 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm
@@ -1,93 +1,93 @@
- OpCapability Shader
- %1 = OpExtInstImport "GLSL.std.450"
- OpMemoryModel Logical GLSL450
- OpEntryPoint Fragment %main "main" %_GLF_color
- OpExecutionMode %main OriginUpperLeft
- OpSource ESSL 310
- OpName %main "main"
- OpName %_GLF_color "_GLF_color"
- OpName %buf0 "buf0"
- OpMemberName %buf0 0 "_GLF_uniform_int_values"
- OpName %_ ""
- OpName %a "a"
- OpName %buf1 "buf1"
- OpMemberName %buf1 0 "_GLF_uniform_float_values"
- OpName %__0 ""
- OpDecorate %_GLF_color Location 0
- OpDecorate %_arr_int_uint_2 ArrayStride 16
- OpMemberDecorate %buf0 0 RelaxedPrecision
- OpMemberDecorate %buf0 0 Offset 0
- OpDecorate %buf0 Block
- OpDecorate %_ DescriptorSet 0
- OpDecorate %_ Binding 0
- OpDecorate %10 RelaxedPrecision
- OpDecorate %11 RelaxedPrecision
- OpDecorate %12 RelaxedPrecision
- OpDecorate %13 RelaxedPrecision
- OpDecorate %_arr_float_uint_2 ArrayStride 16
- OpMemberDecorate %buf1 0 Offset 0
- OpDecorate %buf1 Block
- OpDecorate %__0 DescriptorSet 0
- OpDecorate %__0 Binding 1
- %void = OpTypeVoid
- %16 = OpTypeFunction %void
- %float = OpTypeFloat 32
- %v4float = OpTypeVector %float 4
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %_GLF_color
+ OpExecutionMode %main OriginUpperLeft
+ OpSource ESSL 310
+ OpName %main "main"
+ OpName %_GLF_color "_GLF_color"
+ OpName %buf0 "buf0"
+ OpMemberName %buf0 0 "_GLF_uniform_int_values"
+ OpName %_ ""
+ OpName %a "a"
+ OpName %buf1 "buf1"
+ OpMemberName %buf1 0 "_GLF_uniform_float_values"
+ OpName %__0 ""
+ OpDecorate %_GLF_color Location 0
+ OpDecorate %_arr_int_uint_2 ArrayStride 16
+ OpMemberDecorate %buf0 0 RelaxedPrecision
+ OpMemberDecorate %buf0 0 Offset 0
+ OpDecorate %buf0 Block
+ OpDecorate %_ DescriptorSet 0
+ OpDecorate %_ Binding 0
+ OpDecorate %10 RelaxedPrecision
+ OpDecorate %11 RelaxedPrecision
+ OpDecorate %12 RelaxedPrecision
+ OpDecorate %13 RelaxedPrecision
+ OpDecorate %_arr_float_uint_2 ArrayStride 16
+ OpMemberDecorate %buf1 0 Offset 0
+ OpDecorate %buf1 Block
+ OpDecorate %__0 DescriptorSet 0
+ OpDecorate %__0 Binding 1
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
- %_GLF_color = OpVariable %_ptr_Output_v4float Output
- %int = OpTypeInt 32 1
- %uint = OpTypeInt 32 0
- %uint_2 = OpConstant %uint 2
-%_arr_int_uint_2 = OpTypeArray %int %uint_2
- %buf0 = OpTypeStruct %_arr_int_uint_2
-%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
- %_ = OpVariable %_ptr_Uniform_buf0 Uniform
- %int_0 = OpConstant %int 0
-%_ptr_Uniform_int = OpTypePointer Uniform %int
- %int_1 = OpConstant %int 1
+ %_GLF_color = OpVariable %_ptr_Output_v4float Output
+ %int = OpTypeInt 32 1
+ %uint = OpTypeInt 32 0
+ %uint_2 = OpConstant %uint 2
+ %_arr_int_uint_2 = OpTypeArray %int %uint_2
+ %buf0 = OpTypeStruct %_arr_int_uint_2
+ %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
+ %_ = OpVariable %_ptr_Uniform_buf0 Uniform
+ %int_0 = OpConstant %int 0
+ %_ptr_Uniform_int = OpTypePointer Uniform %int
+ %int_1 = OpConstant %int 1
%_ptr_Function_float = OpTypePointer Function %float
-%float_n0x1_8p_128 = OpConstant %float -0x1.8p+128
-%_arr_float_uint_2 = OpTypeArray %float %uint_2
- %buf1 = OpTypeStruct %_arr_float_uint_2
-%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
- %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
-%_ptr_Uniform_float = OpTypePointer Uniform %float
- %bool = OpTypeBool
- %uint_1 = OpConstant %uint 1
-%_ptr_Output_float = OpTypePointer Output %float
- %main = OpFunction %void None %16
- %34 = OpLabel
- %a = OpVariable %_ptr_Function_float Function
- %35 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
- %10 = OpLoad %int %35
- %36 = OpConvertSToF %float %10
- %37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
- %11 = OpLoad %int %37
- %38 = OpConvertSToF %float %11
- %39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
- %12 = OpLoad %int %39
- %40 = OpConvertSToF %float %12
- %41 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
- %13 = OpLoad %int %41
- %42 = OpConvertSToF %float %13
- %43 = OpCompositeConstruct %v4float %36 %38 %40 %42
- OpStore %_GLF_color %43
- %44 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1
- %45 = OpLoad %float %44
- %46 = OpFMod %float %float_n0x1_8p_128 %45
- OpStore %a %46
- %47 = OpLoad %float %a
- %48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
- %49 = OpLoad %float %48
- %50 = OpFOrdNotEqual %bool %47 %49
- OpSelectionMerge %51 None
- OpBranchConditional %50 %52 %51
- %52 = OpLabel
- %53 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
- %54 = OpLoad %float %53
- %55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
- OpStore %55 %54
- OpBranch %51
- %51 = OpLabel
- OpReturn
- OpFunctionEnd
+ %float_1 = OpConstant %float 1.0
+ %_arr_float_uint_2 = OpTypeArray %float %uint_2
+ %buf1 = OpTypeStruct %_arr_float_uint_2
+ %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
+ %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
+ %_ptr_Uniform_float = OpTypePointer Uniform %float
+ %bool = OpTypeBool
+ %uint_1 = OpConstant %uint 1
+ %_ptr_Output_float = OpTypePointer Output %float
+ %main = OpFunction %void None %16
+ %34 = OpLabel
+ %a = OpVariable %_ptr_Function_float Function
+ %35 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
+ %10 = OpLoad %int %35
+ %36 = OpConvertSToF %float %10
+ %37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
+ %11 = OpLoad %int %37
+ %38 = OpConvertSToF %float %11
+ %39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
+ %12 = OpLoad %int %39
+ %40 = OpConvertSToF %float %12
+ %41 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
+ %13 = OpLoad %int %41
+ %42 = OpConvertSToF %float %13
+ %43 = OpCompositeConstruct %v4float %36 %38 %40 %42
+ OpStore %_GLF_color %43
+ %44 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1
+ %45 = OpLoad %float %44
+ %46 = OpFMod %float %float_1 %45
+ OpStore %a %46
+ %47 = OpLoad %float %a
+ %48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
+ %49 = OpLoad %float %48
+ %50 = OpFOrdNotEqual %bool %47 %49
+ OpSelectionMerge %51 None
+ OpBranchConditional %50 %52 %51
+ %52 = OpLabel
+ %53 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
+ %54 = OpLoad %float %53
+ %55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
+ OpStore %55 %54
+ OpBranch %51
+ %51 = OpLabel
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.wgsl
index 27651aa..e36ad17 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.wgsl
@@ -34,7 +34,7 @@
let x_13 : i32 = x_5.x_GLF_uniform_int_values[0].el;
x_GLF_color = vec4<f32>(f32(x_10), f32(x_11), f32(x_12), f32(x_13));
let x_45 : f32 = x_8.x_GLF_uniform_float_values[1].el;
- a = (-0x1.8p+128 - (x_45 * floor((-0x1.8p+128 / x_45))));
+ a = (1.0 - (x_45 * floor((1.0 / x_45))));
let x_47 : f32 = a;
let x_49 : f32 = x_8.x_GLF_uniform_float_values[0].el;
if ((x_47 != x_49)) {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-undefined-inversesqrt-reflect/0-opt.spvasm b/test/tint/vk-gl-cts/graphicsfuzz/cov-undefined-inversesqrt-reflect/0-opt.spvasm
index 763916f..5fe203b 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-undefined-inversesqrt-reflect/0-opt.spvasm
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-undefined-inversesqrt-reflect/0-opt.spvasm
@@ -1,114 +1,113 @@
- OpCapability Shader
- %1 = OpExtInstImport "GLSL.std.450"
- OpMemoryModel Logical GLSL450
- OpEntryPoint Fragment %main "main" %_GLF_color
- OpExecutionMode %main OriginUpperLeft
- OpSource ESSL 310
- OpName %main "main"
- OpName %m24 "m24"
- OpName %buf0 "buf0"
- OpMemberName %buf0 0 "_GLF_uniform_float_values"
- OpName %_ ""
- OpName %buf1 "buf1"
- OpMemberName %buf1 0 "v1"
- OpName %__0 ""
- OpName %a "a"
- OpName %v2 "v2"
- OpName %v3 "v3"
- OpName %_GLF_color "_GLF_color"
- OpDecorate %_arr_float_uint_1 ArrayStride 16
- OpMemberDecorate %buf0 0 Offset 0
- OpDecorate %buf0 Block
- OpDecorate %_ DescriptorSet 0
- OpDecorate %_ Binding 0
- OpMemberDecorate %buf1 0 Offset 0
- OpDecorate %buf1 Block
- OpDecorate %__0 DescriptorSet 0
- OpDecorate %__0 Binding 1
- OpDecorate %_GLF_color Location 0
- %void = OpTypeVoid
- %14 = OpTypeFunction %void
- %float = OpTypeFloat 32
- %v2float = OpTypeVector %float 2
-%mat2v2float = OpTypeMatrix %v2float 2
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %_GLF_color
+ OpExecutionMode %main OriginUpperLeft
+ OpSource ESSL 310
+ OpName %main "main"
+ OpName %m24 "m24"
+ OpName %buf0 "buf0"
+ OpMemberName %buf0 0 "_GLF_uniform_float_values"
+ OpName %_ ""
+ OpName %buf1 "buf1"
+ OpMemberName %buf1 0 "v1"
+ OpName %__0 ""
+ OpName %a "a"
+ OpName %v2 "v2"
+ OpName %v3 "v3"
+ OpName %_GLF_color "_GLF_color"
+ OpDecorate %_arr_float_uint_1 ArrayStride 16
+ OpMemberDecorate %buf0 0 Offset 0
+ OpDecorate %buf0 Block
+ OpDecorate %_ DescriptorSet 0
+ OpDecorate %_ Binding 0
+ OpMemberDecorate %buf1 0 Offset 0
+ OpDecorate %buf1 Block
+ OpDecorate %__0 DescriptorSet 0
+ OpDecorate %__0 Binding 1
+ OpDecorate %_GLF_color Location 0
+ %void = OpTypeVoid
+ %14 = OpTypeFunction %void
+ %float = OpTypeFloat 32
+ %v2float = OpTypeVector %float 2
+ %mat2v2float = OpTypeMatrix %v2float 2
%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float
- %uint = OpTypeInt 32 0
- %uint_1 = OpConstant %uint 1
-%_arr_float_uint_1 = OpTypeArray %float %uint_1
- %buf0 = OpTypeStruct %_arr_float_uint_1
-%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
- %_ = OpVariable %_ptr_Uniform_buf0 Uniform
- %int = OpTypeInt 32 1
- %int_0 = OpConstant %int 0
-%_ptr_Uniform_float = OpTypePointer Uniform %float
- %buf1 = OpTypeStruct %v2float
-%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
- %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
- %uint_0 = OpConstant %uint 0
- %float_1 = OpConstant %float 1
- %float_0 = OpConstant %float 0
-%_ptr_Function_float = OpTypePointer Function %float
-%_ptr_Function_v2float = OpTypePointer Function %v2float
-%float_n0x1_8p_128 = OpConstant %float -0x1.8p+128
- %32 = OpConstantComposite %v2float %float_n0x1_8p_128 %float_1
- %v4float = OpTypeVector %float 4
-%_ptr_Output_v4float = OpTypePointer Output %v4float
- %_GLF_color = OpVariable %_ptr_Output_v4float Output
- %bool = OpTypeBool
- %36 = OpConstantComposite %v2float %float_0 %float_0
- %37 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
- %main = OpFunction %void None %14
- %38 = OpLabel
- %m24 = OpVariable %_ptr_Function_mat2v2float Function
- %a = OpVariable %_ptr_Function_float Function
- %v2 = OpVariable %_ptr_Function_v2float Function
- %v3 = OpVariable %_ptr_Function_v2float Function
- %39 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %40 = OpLoad %float %39
- %41 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %42 = OpLoad %float %41
- %43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_0
- %44 = OpLoad %float %43
- %45 = OpFMul %float %44 %float_1
- %46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %47 = OpLoad %float %46
- %48 = OpCompositeConstruct %v2float %40 %42
- %49 = OpCompositeConstruct %v2float %45 %47
- %50 = OpCompositeConstruct %mat2v2float %48 %49
- OpStore %m24 %50
- %51 = OpLoad %mat2v2float %m24
- %52 = OpCompositeExtract %float %51 0 0
- OpStore %a %52
- OpStore %v2 %32
- %53 = OpLoad %v2float %v2
- %54 = OpLoad %float %a
- %55 = OpCompositeConstruct %v2float %54 %float_1
- %56 = OpExtInst %v2float %1 Reflect %53 %55
- OpStore %v3 %56
- %57 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %58 = OpLoad %float %57
- %59 = OpLoad %v2float %v3
- %60 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %61 = OpLoad %float %60
- %62 = OpCompositeExtract %float %59 0
- %63 = OpCompositeExtract %float %59 1
- %64 = OpCompositeConstruct %v4float %58 %62 %63 %61
- OpStore %_GLF_color %64
- %65 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_1
- %66 = OpLoad %float %65
- %67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
- %68 = OpLoad %float %67
- %69 = OpFOrdEqual %bool %66 %68
- OpSelectionMerge %70 None
- OpBranchConditional %69 %71 %72
- %71 = OpLabel
- %73 = OpLoad %v4float %_GLF_color
- %74 = OpVectorShuffle %v4float %73 %36 0 4 5 3
- OpStore %_GLF_color %74
- OpBranch %70
- %72 = OpLabel
- OpStore %_GLF_color %37
- OpBranch %70
- %70 = OpLabel
- OpReturn
- OpFunctionEnd
+ %uint = OpTypeInt 32 0
+ %uint_1 = OpConstant %uint 1
+ %_arr_float_uint_1 = OpTypeArray %float %uint_1
+ %buf0 = OpTypeStruct %_arr_float_uint_1
+ %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
+ %_ = OpVariable %_ptr_Uniform_buf0 Uniform
+ %int = OpTypeInt 32 1
+ %int_0 = OpConstant %int 0
+ %_ptr_Uniform_float = OpTypePointer Uniform %float
+ %buf1 = OpTypeStruct %v2float
+ %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
+ %__0 = OpVariable %_ptr_Uniform_buf1 Uniform
+ %uint_0 = OpConstant %uint 0
+ %float_1 = OpConstant %float 1
+ %float_0 = OpConstant %float 0
+ %_ptr_Function_float = OpTypePointer Function %float
+ %_ptr_Function_v2float = OpTypePointer Function %v2float
+ %32 = OpConstantComposite %v2float %float_1 %float_1
+ %v4float = OpTypeVector %float 4
+ %_ptr_Output_v4float = OpTypePointer Output %v4float
+ %_GLF_color = OpVariable %_ptr_Output_v4float Output
+ %bool = OpTypeBool
+ %36 = OpConstantComposite %v2float %float_0 %float_0
+ %37 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
+ %main = OpFunction %void None %14
+ %38 = OpLabel
+ %m24 = OpVariable %_ptr_Function_mat2v2float Function
+ %a = OpVariable %_ptr_Function_float Function
+ %v2 = OpVariable %_ptr_Function_v2float Function
+ %v3 = OpVariable %_ptr_Function_v2float Function
+ %39 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %40 = OpLoad %float %39
+ %41 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %42 = OpLoad %float %41
+ %43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_0
+ %44 = OpLoad %float %43
+ %45 = OpFMul %float %44 %float_1
+ %46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %47 = OpLoad %float %46
+ %48 = OpCompositeConstruct %v2float %40 %42
+ %49 = OpCompositeConstruct %v2float %45 %47
+ %50 = OpCompositeConstruct %mat2v2float %48 %49
+ OpStore %m24 %50
+ %51 = OpLoad %mat2v2float %m24
+ %52 = OpCompositeExtract %float %51 0 0
+ OpStore %a %52
+ OpStore %v2 %32
+ %53 = OpLoad %v2float %v2
+ %54 = OpLoad %float %a
+ %55 = OpCompositeConstruct %v2float %54 %float_1
+ %56 = OpExtInst %v2float %1 Reflect %53 %55
+ OpStore %v3 %56
+ %57 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %58 = OpLoad %float %57
+ %59 = OpLoad %v2float %v3
+ %60 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %61 = OpLoad %float %60
+ %62 = OpCompositeExtract %float %59 0
+ %63 = OpCompositeExtract %float %59 1
+ %64 = OpCompositeConstruct %v4float %58 %62 %63 %61
+ OpStore %_GLF_color %64
+ %65 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_1
+ %66 = OpLoad %float %65
+ %67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
+ %68 = OpLoad %float %67
+ %69 = OpFOrdEqual %bool %66 %68
+ OpSelectionMerge %70 None
+ OpBranchConditional %69 %71 %72
+ %71 = OpLabel
+ %73 = OpLoad %v4float %_GLF_color
+ %74 = OpVectorShuffle %v4float %73 %36 0 4 5 3
+ OpStore %_GLF_color %74
+ OpBranch %70
+ %72 = OpLabel
+ OpStore %_GLF_color %37
+ OpBranch %70
+ %70 = OpLabel
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-undefined-inversesqrt-reflect/0-opt.wgsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-undefined-inversesqrt-reflect/0-opt.wgsl
index dc95ab7..e357321 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-undefined-inversesqrt-reflect/0-opt.wgsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-undefined-inversesqrt-reflect/0-opt.wgsl
@@ -31,7 +31,7 @@
m24 = mat2x2<f32>(vec2<f32>(x_40, x_42), vec2<f32>((x_44 * 1.0), x_47));
let x_51 : mat2x2<f32> = m24;
a = x_51[0u].x;
- v2 = vec2<f32>(-0x1.8p+128, 1.0);
+ v2 = vec2<f32>(1.0, 1.0);
let x_53 : vec2<f32> = v2;
let x_54 : f32 = a;
let x_55 : vec2<f32> = vec2<f32>(x_54, 1.0);