From d3b37dcdb16089776ff5eeebeea6e85f3fd76956 Mon Sep 17 00:00:00 2001 From: teoxoy <28601907+teoxoy@users.noreply.github.com> Date: Tue, 12 Apr 2022 17:28:05 +0200 Subject: [PATCH] add tests for remaining vector - scalar ops --- tests/in/operators.wgsl | 20 + tests/out/glsl/operators.main.Compute.glsl | 170 ++++--- tests/out/hlsl/operators.hlsl | 170 ++++--- tests/out/msl/operators.msl | 170 ++++--- tests/out/spv/operators.spvasm | 524 ++++++++++++--------- tests/out/wgsl/operators.wgsl | 170 ++++--- 6 files changed, 691 insertions(+), 533 deletions(-) diff --git a/tests/in/operators.wgsl b/tests/in/operators.wgsl index c69cfbfad3..54949f4190 100644 --- a/tests/in/operators.wgsl +++ b/tests/in/operators.wgsl @@ -137,18 +137,38 @@ fn arithmetic() { // Binary arithmetic expressions with mixed scalar and vector operands let _ = vec2(2) + 1; let _ = 2 + vec2(1); + let _ = vec2(2u) + 1u; + let _ = 2u + vec2(1u); + let _ = vec2(2.0) + 1.0; + let _ = 2.0 + vec2(1.0); let _ = vec2(2) - 1; let _ = 2 - vec2(1); + let _ = vec2(2u) - 1u; + let _ = 2u - vec2(1u); + let _ = vec2(2.0) - 1.0; + let _ = 2.0 - vec2(1.0); let _ = vec2(2) * 1; let _ = 2 * vec2(1); + let _ = vec2(2u) * 1u; + let _ = 2u * vec2(1u); + let _ = vec2(2.0) * 1.0; + let _ = 2.0 * vec2(1.0); let _ = vec2(2) / 1; let _ = 2 / vec2(1); + let _ = vec2(2u) / 1u; + let _ = 2u / vec2(1u); + let _ = vec2(2.0) / 1.0; + let _ = 2.0 / vec2(1.0); let _ = vec2(2) % 1; let _ = 2 % vec2(1); + let _ = vec2(2u) % 1u; + let _ = 2u % vec2(1u); + let _ = vec2(2.0) % 1.0; + let _ = 2.0 % vec2(1.0); // Matrix arithmetic let _ = mat3x3() + mat3x3(); diff --git a/tests/out/glsl/operators.main.Compute.glsl b/tests/out/glsl/operators.main.Compute.glsl index dc741b1ebd..464dc97769 100644 --- a/tests/out/glsl/operators.main.Compute.glsl +++ b/tests/out/glsl/operators.main.Compute.glsl @@ -102,87 +102,107 @@ void arithmetic() { vec4 unnamed_50 = (vec4(2.0) - vec4(1.0) * trunc(vec4(2.0) / vec4(1.0))); ivec2 unnamed_51 = (ivec2(2) + ivec2(1)); ivec2 unnamed_52 = (ivec2(2) + ivec2(1)); - ivec2 unnamed_53 = (ivec2(2) - ivec2(1)); - ivec2 unnamed_54 = (ivec2(2) - ivec2(1)); - ivec2 unnamed_55 = (ivec2(2) * 1); - ivec2 unnamed_56 = (2 * ivec2(1)); - ivec2 unnamed_57 = (ivec2(2) / ivec2(1)); - ivec2 unnamed_58 = (ivec2(2) / ivec2(1)); - ivec2 unnamed_59 = (ivec2(2) % ivec2(1)); - ivec2 unnamed_60 = (ivec2(2) % ivec2(1)); - mat3x3 unnamed_61 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) + mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); - mat3x3 unnamed_62 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) - mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); - mat3x3 unnamed_63 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * 1.0); - mat3x3 unnamed_64 = (2.0 * mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); - vec3 unnamed_65 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * vec4(1.0)); - vec4 unnamed_66 = (vec3(2.0) * mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); - mat3x3 unnamed_67 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * mat3x4(vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0))); + uvec2 unnamed_53 = (uvec2(2u) + uvec2(1u)); + uvec2 unnamed_54 = (uvec2(2u) + uvec2(1u)); + vec2 unnamed_55 = (vec2(2.0) + vec2(1.0)); + vec2 unnamed_56 = (vec2(2.0) + vec2(1.0)); + ivec2 unnamed_57 = (ivec2(2) - ivec2(1)); + ivec2 unnamed_58 = (ivec2(2) - ivec2(1)); + uvec2 unnamed_59 = (uvec2(2u) - uvec2(1u)); + uvec2 unnamed_60 = (uvec2(2u) - uvec2(1u)); + vec2 unnamed_61 = (vec2(2.0) - vec2(1.0)); + vec2 unnamed_62 = (vec2(2.0) - vec2(1.0)); + ivec2 unnamed_63 = (ivec2(2) * 1); + ivec2 unnamed_64 = (2 * ivec2(1)); + uvec2 unnamed_65 = (uvec2(2u) * 1u); + uvec2 unnamed_66 = (2u * uvec2(1u)); + vec2 unnamed_67 = (vec2(2.0) * 1.0); + vec2 unnamed_68 = (2.0 * vec2(1.0)); + ivec2 unnamed_69 = (ivec2(2) / ivec2(1)); + ivec2 unnamed_70 = (ivec2(2) / ivec2(1)); + uvec2 unnamed_71 = (uvec2(2u) / uvec2(1u)); + uvec2 unnamed_72 = (uvec2(2u) / uvec2(1u)); + vec2 unnamed_73 = (vec2(2.0) / vec2(1.0)); + vec2 unnamed_74 = (vec2(2.0) / vec2(1.0)); + ivec2 unnamed_75 = (ivec2(2) % ivec2(1)); + ivec2 unnamed_76 = (ivec2(2) % ivec2(1)); + uvec2 unnamed_77 = (uvec2(2u) % uvec2(1u)); + uvec2 unnamed_78 = (uvec2(2u) % uvec2(1u)); + vec2 unnamed_79 = (vec2(2.0) - vec2(1.0) * trunc(vec2(2.0) / vec2(1.0))); + vec2 unnamed_80 = (vec2(2.0) - vec2(1.0) * trunc(vec2(2.0) / vec2(1.0))); + mat3x3 unnamed_81 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) + mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); + mat3x3 unnamed_82 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) - mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); + mat3x3 unnamed_83 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * 1.0); + mat3x3 unnamed_84 = (2.0 * mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); + vec3 unnamed_85 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * vec4(1.0)); + vec4 unnamed_86 = (vec3(2.0) * mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); + mat3x3 unnamed_87 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * mat3x4(vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0))); } void bit() { - int unnamed_68 = (~ 1); - uint unnamed_69 = (~ 1u); - ivec2 unnamed_70 = (~ ivec2(1)); - uvec3 unnamed_71 = (~ uvec3(1u)); - int unnamed_72 = (2 | 1); - uint unnamed_73 = (2u | 1u); - ivec2 unnamed_74 = (ivec2(2) | ivec2(1)); - uvec3 unnamed_75 = (uvec3(2u) | uvec3(1u)); - int unnamed_76 = (2 & 1); - uint unnamed_77 = (2u & 1u); - ivec2 unnamed_78 = (ivec2(2) & ivec2(1)); - uvec3 unnamed_79 = (uvec3(2u) & uvec3(1u)); - int unnamed_80 = (2 ^ 1); - uint unnamed_81 = (2u ^ 1u); - ivec2 unnamed_82 = (ivec2(2) ^ ivec2(1)); - uvec3 unnamed_83 = (uvec3(2u) ^ uvec3(1u)); - int unnamed_84 = (2 << 1u); - uint unnamed_85 = (2u << 1u); - ivec2 unnamed_86 = (ivec2(2) << uvec2(1u)); - uvec3 unnamed_87 = (uvec3(2u) << uvec3(1u)); - int unnamed_88 = (2 >> 1u); - uint unnamed_89 = (2u >> 1u); - ivec2 unnamed_90 = (ivec2(2) >> uvec2(1u)); - uvec3 unnamed_91 = (uvec3(2u) >> uvec3(1u)); + int unnamed_88 = (~ 1); + uint unnamed_89 = (~ 1u); + ivec2 unnamed_90 = (~ ivec2(1)); + uvec3 unnamed_91 = (~ uvec3(1u)); + int unnamed_92 = (2 | 1); + uint unnamed_93 = (2u | 1u); + ivec2 unnamed_94 = (ivec2(2) | ivec2(1)); + uvec3 unnamed_95 = (uvec3(2u) | uvec3(1u)); + int unnamed_96 = (2 & 1); + uint unnamed_97 = (2u & 1u); + ivec2 unnamed_98 = (ivec2(2) & ivec2(1)); + uvec3 unnamed_99 = (uvec3(2u) & uvec3(1u)); + int unnamed_100 = (2 ^ 1); + uint unnamed_101 = (2u ^ 1u); + ivec2 unnamed_102 = (ivec2(2) ^ ivec2(1)); + uvec3 unnamed_103 = (uvec3(2u) ^ uvec3(1u)); + int unnamed_104 = (2 << 1u); + uint unnamed_105 = (2u << 1u); + ivec2 unnamed_106 = (ivec2(2) << uvec2(1u)); + uvec3 unnamed_107 = (uvec3(2u) << uvec3(1u)); + int unnamed_108 = (2 >> 1u); + uint unnamed_109 = (2u >> 1u); + ivec2 unnamed_110 = (ivec2(2) >> uvec2(1u)); + uvec3 unnamed_111 = (uvec3(2u) >> uvec3(1u)); } void comparison() { - bool unnamed_92 = (2 == 1); - bool unnamed_93 = (2u == 1u); - bool unnamed_94 = (2.0 == 1.0); - bvec2 unnamed_95 = equal(ivec2(2), ivec2(1)); - bvec3 unnamed_96 = equal(uvec3(2u), uvec3(1u)); - bvec4 unnamed_97 = equal(vec4(2.0), vec4(1.0)); - bool unnamed_98 = (2 != 1); - bool unnamed_99 = (2u != 1u); - bool unnamed_100 = (2.0 != 1.0); - bvec2 unnamed_101 = notEqual(ivec2(2), ivec2(1)); - bvec3 unnamed_102 = notEqual(uvec3(2u), uvec3(1u)); - bvec4 unnamed_103 = notEqual(vec4(2.0), vec4(1.0)); - bool unnamed_104 = (2 < 1); - bool unnamed_105 = (2u < 1u); - bool unnamed_106 = (2.0 < 1.0); - bvec2 unnamed_107 = lessThan(ivec2(2), ivec2(1)); - bvec3 unnamed_108 = lessThan(uvec3(2u), uvec3(1u)); - bvec4 unnamed_109 = lessThan(vec4(2.0), vec4(1.0)); - bool unnamed_110 = (2 <= 1); - bool unnamed_111 = (2u <= 1u); - bool unnamed_112 = (2.0 <= 1.0); - bvec2 unnamed_113 = lessThanEqual(ivec2(2), ivec2(1)); - bvec3 unnamed_114 = lessThanEqual(uvec3(2u), uvec3(1u)); - bvec4 unnamed_115 = lessThanEqual(vec4(2.0), vec4(1.0)); - bool unnamed_116 = (2 > 1); - bool unnamed_117 = (2u > 1u); - bool unnamed_118 = (2.0 > 1.0); - bvec2 unnamed_119 = greaterThan(ivec2(2), ivec2(1)); - bvec3 unnamed_120 = greaterThan(uvec3(2u), uvec3(1u)); - bvec4 unnamed_121 = greaterThan(vec4(2.0), vec4(1.0)); - bool unnamed_122 = (2 >= 1); - bool unnamed_123 = (2u >= 1u); - bool unnamed_124 = (2.0 >= 1.0); - bvec2 unnamed_125 = greaterThanEqual(ivec2(2), ivec2(1)); - bvec3 unnamed_126 = greaterThanEqual(uvec3(2u), uvec3(1u)); - bvec4 unnamed_127 = greaterThanEqual(vec4(2.0), vec4(1.0)); + bool unnamed_112 = (2 == 1); + bool unnamed_113 = (2u == 1u); + bool unnamed_114 = (2.0 == 1.0); + bvec2 unnamed_115 = equal(ivec2(2), ivec2(1)); + bvec3 unnamed_116 = equal(uvec3(2u), uvec3(1u)); + bvec4 unnamed_117 = equal(vec4(2.0), vec4(1.0)); + bool unnamed_118 = (2 != 1); + bool unnamed_119 = (2u != 1u); + bool unnamed_120 = (2.0 != 1.0); + bvec2 unnamed_121 = notEqual(ivec2(2), ivec2(1)); + bvec3 unnamed_122 = notEqual(uvec3(2u), uvec3(1u)); + bvec4 unnamed_123 = notEqual(vec4(2.0), vec4(1.0)); + bool unnamed_124 = (2 < 1); + bool unnamed_125 = (2u < 1u); + bool unnamed_126 = (2.0 < 1.0); + bvec2 unnamed_127 = lessThan(ivec2(2), ivec2(1)); + bvec3 unnamed_128 = lessThan(uvec3(2u), uvec3(1u)); + bvec4 unnamed_129 = lessThan(vec4(2.0), vec4(1.0)); + bool unnamed_130 = (2 <= 1); + bool unnamed_131 = (2u <= 1u); + bool unnamed_132 = (2.0 <= 1.0); + bvec2 unnamed_133 = lessThanEqual(ivec2(2), ivec2(1)); + bvec3 unnamed_134 = lessThanEqual(uvec3(2u), uvec3(1u)); + bvec4 unnamed_135 = lessThanEqual(vec4(2.0), vec4(1.0)); + bool unnamed_136 = (2 > 1); + bool unnamed_137 = (2u > 1u); + bool unnamed_138 = (2.0 > 1.0); + bvec2 unnamed_139 = greaterThan(ivec2(2), ivec2(1)); + bvec3 unnamed_140 = greaterThan(uvec3(2u), uvec3(1u)); + bvec4 unnamed_141 = greaterThan(vec4(2.0), vec4(1.0)); + bool unnamed_142 = (2 >= 1); + bool unnamed_143 = (2u >= 1u); + bool unnamed_144 = (2.0 >= 1.0); + bvec2 unnamed_145 = greaterThanEqual(ivec2(2), ivec2(1)); + bvec3 unnamed_146 = greaterThanEqual(uvec3(2u), uvec3(1u)); + bvec4 unnamed_147 = greaterThanEqual(vec4(2.0), vec4(1.0)); } void assignment() { diff --git a/tests/out/hlsl/operators.hlsl b/tests/out/hlsl/operators.hlsl index c6e03def92..b23d47799f 100644 --- a/tests/out/hlsl/operators.hlsl +++ b/tests/out/hlsl/operators.hlsl @@ -130,89 +130,109 @@ void arithmetic() float4 unnamed_50 = ((2.0).xxxx % (1.0).xxxx); int2 unnamed_51 = ((2).xx + (1).xx); int2 unnamed_52 = ((2).xx + (1).xx); - int2 unnamed_53 = ((2).xx - (1).xx); - int2 unnamed_54 = ((2).xx - (1).xx); - int2 unnamed_55 = ((2).xx * 1); - int2 unnamed_56 = (2 * (1).xx); - int2 unnamed_57 = ((2).xx / (1).xx); - int2 unnamed_58 = ((2).xx / (1).xx); - int2 unnamed_59 = ((2).xx % (1).xx); - int2 unnamed_60 = ((2).xx % (1).xx); - float3x3 unnamed_61 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) + float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); - float3x3 unnamed_62 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) - float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); - float3x3 unnamed_63 = mul(1.0, float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); - float3x3 unnamed_64 = mul(float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), 2.0); - float3 unnamed_65 = mul((1.0).xxxx, float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); - float4 unnamed_66 = mul(float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), (2.0).xxx); - float3x3 unnamed_67 = mul(float3x4(float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0)), float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); + uint2 unnamed_53 = ((2u).xx + (1u).xx); + uint2 unnamed_54 = ((2u).xx + (1u).xx); + float2 unnamed_55 = ((2.0).xx + (1.0).xx); + float2 unnamed_56 = ((2.0).xx + (1.0).xx); + int2 unnamed_57 = ((2).xx - (1).xx); + int2 unnamed_58 = ((2).xx - (1).xx); + uint2 unnamed_59 = ((2u).xx - (1u).xx); + uint2 unnamed_60 = ((2u).xx - (1u).xx); + float2 unnamed_61 = ((2.0).xx - (1.0).xx); + float2 unnamed_62 = ((2.0).xx - (1.0).xx); + int2 unnamed_63 = ((2).xx * 1); + int2 unnamed_64 = (2 * (1).xx); + uint2 unnamed_65 = ((2u).xx * 1u); + uint2 unnamed_66 = (2u * (1u).xx); + float2 unnamed_67 = ((2.0).xx * 1.0); + float2 unnamed_68 = (2.0 * (1.0).xx); + int2 unnamed_69 = ((2).xx / (1).xx); + int2 unnamed_70 = ((2).xx / (1).xx); + uint2 unnamed_71 = ((2u).xx / (1u).xx); + uint2 unnamed_72 = ((2u).xx / (1u).xx); + float2 unnamed_73 = ((2.0).xx / (1.0).xx); + float2 unnamed_74 = ((2.0).xx / (1.0).xx); + int2 unnamed_75 = ((2).xx % (1).xx); + int2 unnamed_76 = ((2).xx % (1).xx); + uint2 unnamed_77 = ((2u).xx % (1u).xx); + uint2 unnamed_78 = ((2u).xx % (1u).xx); + float2 unnamed_79 = ((2.0).xx % (1.0).xx); + float2 unnamed_80 = ((2.0).xx % (1.0).xx); + float3x3 unnamed_81 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) + float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); + float3x3 unnamed_82 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) - float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); + float3x3 unnamed_83 = mul(1.0, float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); + float3x3 unnamed_84 = mul(float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), 2.0); + float3 unnamed_85 = mul((1.0).xxxx, float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); + float4 unnamed_86 = mul(float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), (2.0).xxx); + float3x3 unnamed_87 = mul(float3x4(float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0)), float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0))); } void bit() { - int unnamed_68 = ~1; - uint unnamed_69 = ~1u; - int2 unnamed_70 = ~(1).xx; - uint3 unnamed_71 = ~(1u).xxx; - int unnamed_72 = (2 | 1); - uint unnamed_73 = (2u | 1u); - int2 unnamed_74 = ((2).xx | (1).xx); - uint3 unnamed_75 = ((2u).xxx | (1u).xxx); - int unnamed_76 = (2 & 1); - uint unnamed_77 = (2u & 1u); - int2 unnamed_78 = ((2).xx & (1).xx); - uint3 unnamed_79 = ((2u).xxx & (1u).xxx); - int unnamed_80 = (2 ^ 1); - uint unnamed_81 = (2u ^ 1u); - int2 unnamed_82 = ((2).xx ^ (1).xx); - uint3 unnamed_83 = ((2u).xxx ^ (1u).xxx); - int unnamed_84 = (2 << 1u); - uint unnamed_85 = (2u << 1u); - int2 unnamed_86 = ((2).xx << (1u).xx); - uint3 unnamed_87 = ((2u).xxx << (1u).xxx); - int unnamed_88 = (2 >> 1u); - uint unnamed_89 = (2u >> 1u); - int2 unnamed_90 = ((2).xx >> (1u).xx); - uint3 unnamed_91 = ((2u).xxx >> (1u).xxx); + int unnamed_88 = ~1; + uint unnamed_89 = ~1u; + int2 unnamed_90 = ~(1).xx; + uint3 unnamed_91 = ~(1u).xxx; + int unnamed_92 = (2 | 1); + uint unnamed_93 = (2u | 1u); + int2 unnamed_94 = ((2).xx | (1).xx); + uint3 unnamed_95 = ((2u).xxx | (1u).xxx); + int unnamed_96 = (2 & 1); + uint unnamed_97 = (2u & 1u); + int2 unnamed_98 = ((2).xx & (1).xx); + uint3 unnamed_99 = ((2u).xxx & (1u).xxx); + int unnamed_100 = (2 ^ 1); + uint unnamed_101 = (2u ^ 1u); + int2 unnamed_102 = ((2).xx ^ (1).xx); + uint3 unnamed_103 = ((2u).xxx ^ (1u).xxx); + int unnamed_104 = (2 << 1u); + uint unnamed_105 = (2u << 1u); + int2 unnamed_106 = ((2).xx << (1u).xx); + uint3 unnamed_107 = ((2u).xxx << (1u).xxx); + int unnamed_108 = (2 >> 1u); + uint unnamed_109 = (2u >> 1u); + int2 unnamed_110 = ((2).xx >> (1u).xx); + uint3 unnamed_111 = ((2u).xxx >> (1u).xxx); } void comparison() { - bool unnamed_92 = (2 == 1); - bool unnamed_93 = (2u == 1u); - bool unnamed_94 = (2.0 == 1.0); - bool2 unnamed_95 = ((2).xx == (1).xx); - bool3 unnamed_96 = ((2u).xxx == (1u).xxx); - bool4 unnamed_97 = ((2.0).xxxx == (1.0).xxxx); - bool unnamed_98 = (2 != 1); - bool unnamed_99 = (2u != 1u); - bool unnamed_100 = (2.0 != 1.0); - bool2 unnamed_101 = ((2).xx != (1).xx); - bool3 unnamed_102 = ((2u).xxx != (1u).xxx); - bool4 unnamed_103 = ((2.0).xxxx != (1.0).xxxx); - bool unnamed_104 = (2 < 1); - bool unnamed_105 = (2u < 1u); - bool unnamed_106 = (2.0 < 1.0); - bool2 unnamed_107 = ((2).xx < (1).xx); - bool3 unnamed_108 = ((2u).xxx < (1u).xxx); - bool4 unnamed_109 = ((2.0).xxxx < (1.0).xxxx); - bool unnamed_110 = (2 <= 1); - bool unnamed_111 = (2u <= 1u); - bool unnamed_112 = (2.0 <= 1.0); - bool2 unnamed_113 = ((2).xx <= (1).xx); - bool3 unnamed_114 = ((2u).xxx <= (1u).xxx); - bool4 unnamed_115 = ((2.0).xxxx <= (1.0).xxxx); - bool unnamed_116 = (2 > 1); - bool unnamed_117 = (2u > 1u); - bool unnamed_118 = (2.0 > 1.0); - bool2 unnamed_119 = ((2).xx > (1).xx); - bool3 unnamed_120 = ((2u).xxx > (1u).xxx); - bool4 unnamed_121 = ((2.0).xxxx > (1.0).xxxx); - bool unnamed_122 = (2 >= 1); - bool unnamed_123 = (2u >= 1u); - bool unnamed_124 = (2.0 >= 1.0); - bool2 unnamed_125 = ((2).xx >= (1).xx); - bool3 unnamed_126 = ((2u).xxx >= (1u).xxx); - bool4 unnamed_127 = ((2.0).xxxx >= (1.0).xxxx); + bool unnamed_112 = (2 == 1); + bool unnamed_113 = (2u == 1u); + bool unnamed_114 = (2.0 == 1.0); + bool2 unnamed_115 = ((2).xx == (1).xx); + bool3 unnamed_116 = ((2u).xxx == (1u).xxx); + bool4 unnamed_117 = ((2.0).xxxx == (1.0).xxxx); + bool unnamed_118 = (2 != 1); + bool unnamed_119 = (2u != 1u); + bool unnamed_120 = (2.0 != 1.0); + bool2 unnamed_121 = ((2).xx != (1).xx); + bool3 unnamed_122 = ((2u).xxx != (1u).xxx); + bool4 unnamed_123 = ((2.0).xxxx != (1.0).xxxx); + bool unnamed_124 = (2 < 1); + bool unnamed_125 = (2u < 1u); + bool unnamed_126 = (2.0 < 1.0); + bool2 unnamed_127 = ((2).xx < (1).xx); + bool3 unnamed_128 = ((2u).xxx < (1u).xxx); + bool4 unnamed_129 = ((2.0).xxxx < (1.0).xxxx); + bool unnamed_130 = (2 <= 1); + bool unnamed_131 = (2u <= 1u); + bool unnamed_132 = (2.0 <= 1.0); + bool2 unnamed_133 = ((2).xx <= (1).xx); + bool3 unnamed_134 = ((2u).xxx <= (1u).xxx); + bool4 unnamed_135 = ((2.0).xxxx <= (1.0).xxxx); + bool unnamed_136 = (2 > 1); + bool unnamed_137 = (2u > 1u); + bool unnamed_138 = (2.0 > 1.0); + bool2 unnamed_139 = ((2).xx > (1).xx); + bool3 unnamed_140 = ((2u).xxx > (1u).xxx); + bool4 unnamed_141 = ((2.0).xxxx > (1.0).xxxx); + bool unnamed_142 = (2 >= 1); + bool unnamed_143 = (2u >= 1u); + bool unnamed_144 = (2.0 >= 1.0); + bool2 unnamed_145 = ((2).xx >= (1).xx); + bool3 unnamed_146 = ((2u).xxx >= (1u).xxx); + bool4 unnamed_147 = ((2.0).xxxx >= (1.0).xxxx); } void assignment() diff --git a/tests/out/msl/operators.msl b/tests/out/msl/operators.msl index 573bad1821..02a9fd6f79 100644 --- a/tests/out/msl/operators.msl +++ b/tests/out/msl/operators.msl @@ -128,89 +128,109 @@ void arithmetic( metal::float4 unnamed_50 = metal::fmod(metal::float4(2.0), metal::float4(1.0)); metal::int2 unnamed_51 = metal::int2(2) + metal::int2(1); metal::int2 unnamed_52 = metal::int2(2) + metal::int2(1); - metal::int2 unnamed_53 = metal::int2(2) - metal::int2(1); - metal::int2 unnamed_54 = metal::int2(2) - metal::int2(1); - metal::int2 unnamed_55 = metal::int2(2) * 1; - metal::int2 unnamed_56 = 2 * metal::int2(1); - metal::int2 unnamed_57 = metal::int2(2) / metal::int2(1); - metal::int2 unnamed_58 = metal::int2(2) / metal::int2(1); - metal::int2 unnamed_59 = metal::int2(2) % metal::int2(1); - metal::int2 unnamed_60 = metal::int2(2) % metal::int2(1); - metal::float3x3 unnamed_61 = const_type_14_ + const_type_14_; - metal::float3x3 unnamed_62 = const_type_14_ - const_type_14_; - metal::float3x3 unnamed_63 = const_type_14_ * 1.0; - metal::float3x3 unnamed_64 = 2.0 * const_type_14_; - metal::float3 unnamed_65 = const_type_15_ * metal::float4(1.0); - metal::float4 unnamed_66 = metal::float3(2.0) * const_type_15_; - metal::float3x3 unnamed_67 = const_type_15_ * const_type_16_; + metal::uint2 unnamed_53 = metal::uint2(2u) + metal::uint2(1u); + metal::uint2 unnamed_54 = metal::uint2(2u) + metal::uint2(1u); + metal::float2 unnamed_55 = metal::float2(2.0) + metal::float2(1.0); + metal::float2 unnamed_56 = metal::float2(2.0) + metal::float2(1.0); + metal::int2 unnamed_57 = metal::int2(2) - metal::int2(1); + metal::int2 unnamed_58 = metal::int2(2) - metal::int2(1); + metal::uint2 unnamed_59 = metal::uint2(2u) - metal::uint2(1u); + metal::uint2 unnamed_60 = metal::uint2(2u) - metal::uint2(1u); + metal::float2 unnamed_61 = metal::float2(2.0) - metal::float2(1.0); + metal::float2 unnamed_62 = metal::float2(2.0) - metal::float2(1.0); + metal::int2 unnamed_63 = metal::int2(2) * 1; + metal::int2 unnamed_64 = 2 * metal::int2(1); + metal::uint2 unnamed_65 = metal::uint2(2u) * 1u; + metal::uint2 unnamed_66 = 2u * metal::uint2(1u); + metal::float2 unnamed_67 = metal::float2(2.0) * 1.0; + metal::float2 unnamed_68 = 2.0 * metal::float2(1.0); + metal::int2 unnamed_69 = metal::int2(2) / metal::int2(1); + metal::int2 unnamed_70 = metal::int2(2) / metal::int2(1); + metal::uint2 unnamed_71 = metal::uint2(2u) / metal::uint2(1u); + metal::uint2 unnamed_72 = metal::uint2(2u) / metal::uint2(1u); + metal::float2 unnamed_73 = metal::float2(2.0) / metal::float2(1.0); + metal::float2 unnamed_74 = metal::float2(2.0) / metal::float2(1.0); + metal::int2 unnamed_75 = metal::int2(2) % metal::int2(1); + metal::int2 unnamed_76 = metal::int2(2) % metal::int2(1); + metal::uint2 unnamed_77 = metal::uint2(2u) % metal::uint2(1u); + metal::uint2 unnamed_78 = metal::uint2(2u) % metal::uint2(1u); + metal::float2 unnamed_79 = metal::fmod(metal::float2(2.0), metal::float2(1.0)); + metal::float2 unnamed_80 = metal::fmod(metal::float2(2.0), metal::float2(1.0)); + metal::float3x3 unnamed_81 = const_type_14_ + const_type_14_; + metal::float3x3 unnamed_82 = const_type_14_ - const_type_14_; + metal::float3x3 unnamed_83 = const_type_14_ * 1.0; + metal::float3x3 unnamed_84 = 2.0 * const_type_14_; + metal::float3 unnamed_85 = const_type_15_ * metal::float4(1.0); + metal::float4 unnamed_86 = metal::float3(2.0) * const_type_15_; + metal::float3x3 unnamed_87 = const_type_15_ * const_type_16_; } void bit( ) { - int unnamed_68 = ~1; - uint unnamed_69 = ~1u; - metal::int2 unnamed_70 = ~metal::int2(1); - metal::uint3 unnamed_71 = ~metal::uint3(1u); - int unnamed_72 = 2 | 1; - uint unnamed_73 = 2u | 1u; - metal::int2 unnamed_74 = metal::int2(2) | metal::int2(1); - metal::uint3 unnamed_75 = metal::uint3(2u) | metal::uint3(1u); - int unnamed_76 = 2 & 1; - uint unnamed_77 = 2u & 1u; - metal::int2 unnamed_78 = metal::int2(2) & metal::int2(1); - metal::uint3 unnamed_79 = metal::uint3(2u) & metal::uint3(1u); - int unnamed_80 = 2 ^ 1; - uint unnamed_81 = 2u ^ 1u; - metal::int2 unnamed_82 = metal::int2(2) ^ metal::int2(1); - metal::uint3 unnamed_83 = metal::uint3(2u) ^ metal::uint3(1u); - int unnamed_84 = 2 << 1u; - uint unnamed_85 = 2u << 1u; - metal::int2 unnamed_86 = metal::int2(2) << metal::uint2(1u); - metal::uint3 unnamed_87 = metal::uint3(2u) << metal::uint3(1u); - int unnamed_88 = 2 >> 1u; - uint unnamed_89 = 2u >> 1u; - metal::int2 unnamed_90 = metal::int2(2) >> metal::uint2(1u); - metal::uint3 unnamed_91 = metal::uint3(2u) >> metal::uint3(1u); + int unnamed_88 = ~1; + uint unnamed_89 = ~1u; + metal::int2 unnamed_90 = ~metal::int2(1); + metal::uint3 unnamed_91 = ~metal::uint3(1u); + int unnamed_92 = 2 | 1; + uint unnamed_93 = 2u | 1u; + metal::int2 unnamed_94 = metal::int2(2) | metal::int2(1); + metal::uint3 unnamed_95 = metal::uint3(2u) | metal::uint3(1u); + int unnamed_96 = 2 & 1; + uint unnamed_97 = 2u & 1u; + metal::int2 unnamed_98 = metal::int2(2) & metal::int2(1); + metal::uint3 unnamed_99 = metal::uint3(2u) & metal::uint3(1u); + int unnamed_100 = 2 ^ 1; + uint unnamed_101 = 2u ^ 1u; + metal::int2 unnamed_102 = metal::int2(2) ^ metal::int2(1); + metal::uint3 unnamed_103 = metal::uint3(2u) ^ metal::uint3(1u); + int unnamed_104 = 2 << 1u; + uint unnamed_105 = 2u << 1u; + metal::int2 unnamed_106 = metal::int2(2) << metal::uint2(1u); + metal::uint3 unnamed_107 = metal::uint3(2u) << metal::uint3(1u); + int unnamed_108 = 2 >> 1u; + uint unnamed_109 = 2u >> 1u; + metal::int2 unnamed_110 = metal::int2(2) >> metal::uint2(1u); + metal::uint3 unnamed_111 = metal::uint3(2u) >> metal::uint3(1u); } void comparison( ) { - bool unnamed_92 = 2 == 1; - bool unnamed_93 = 2u == 1u; - bool unnamed_94 = 2.0 == 1.0; - metal::bool2 unnamed_95 = metal::int2(2) == metal::int2(1); - metal::bool3 unnamed_96 = metal::uint3(2u) == metal::uint3(1u); - metal::bool4 unnamed_97 = metal::float4(2.0) == metal::float4(1.0); - bool unnamed_98 = 2 != 1; - bool unnamed_99 = 2u != 1u; - bool unnamed_100 = 2.0 != 1.0; - metal::bool2 unnamed_101 = metal::int2(2) != metal::int2(1); - metal::bool3 unnamed_102 = metal::uint3(2u) != metal::uint3(1u); - metal::bool4 unnamed_103 = metal::float4(2.0) != metal::float4(1.0); - bool unnamed_104 = 2 < 1; - bool unnamed_105 = 2u < 1u; - bool unnamed_106 = 2.0 < 1.0; - metal::bool2 unnamed_107 = metal::int2(2) < metal::int2(1); - metal::bool3 unnamed_108 = metal::uint3(2u) < metal::uint3(1u); - metal::bool4 unnamed_109 = metal::float4(2.0) < metal::float4(1.0); - bool unnamed_110 = 2 <= 1; - bool unnamed_111 = 2u <= 1u; - bool unnamed_112 = 2.0 <= 1.0; - metal::bool2 unnamed_113 = metal::int2(2) <= metal::int2(1); - metal::bool3 unnamed_114 = metal::uint3(2u) <= metal::uint3(1u); - metal::bool4 unnamed_115 = metal::float4(2.0) <= metal::float4(1.0); - bool unnamed_116 = 2 > 1; - bool unnamed_117 = 2u > 1u; - bool unnamed_118 = 2.0 > 1.0; - metal::bool2 unnamed_119 = metal::int2(2) > metal::int2(1); - metal::bool3 unnamed_120 = metal::uint3(2u) > metal::uint3(1u); - metal::bool4 unnamed_121 = metal::float4(2.0) > metal::float4(1.0); - bool unnamed_122 = 2 >= 1; - bool unnamed_123 = 2u >= 1u; - bool unnamed_124 = 2.0 >= 1.0; - metal::bool2 unnamed_125 = metal::int2(2) >= metal::int2(1); - metal::bool3 unnamed_126 = metal::uint3(2u) >= metal::uint3(1u); - metal::bool4 unnamed_127 = metal::float4(2.0) >= metal::float4(1.0); + bool unnamed_112 = 2 == 1; + bool unnamed_113 = 2u == 1u; + bool unnamed_114 = 2.0 == 1.0; + metal::bool2 unnamed_115 = metal::int2(2) == metal::int2(1); + metal::bool3 unnamed_116 = metal::uint3(2u) == metal::uint3(1u); + metal::bool4 unnamed_117 = metal::float4(2.0) == metal::float4(1.0); + bool unnamed_118 = 2 != 1; + bool unnamed_119 = 2u != 1u; + bool unnamed_120 = 2.0 != 1.0; + metal::bool2 unnamed_121 = metal::int2(2) != metal::int2(1); + metal::bool3 unnamed_122 = metal::uint3(2u) != metal::uint3(1u); + metal::bool4 unnamed_123 = metal::float4(2.0) != metal::float4(1.0); + bool unnamed_124 = 2 < 1; + bool unnamed_125 = 2u < 1u; + bool unnamed_126 = 2.0 < 1.0; + metal::bool2 unnamed_127 = metal::int2(2) < metal::int2(1); + metal::bool3 unnamed_128 = metal::uint3(2u) < metal::uint3(1u); + metal::bool4 unnamed_129 = metal::float4(2.0) < metal::float4(1.0); + bool unnamed_130 = 2 <= 1; + bool unnamed_131 = 2u <= 1u; + bool unnamed_132 = 2.0 <= 1.0; + metal::bool2 unnamed_133 = metal::int2(2) <= metal::int2(1); + metal::bool3 unnamed_134 = metal::uint3(2u) <= metal::uint3(1u); + metal::bool4 unnamed_135 = metal::float4(2.0) <= metal::float4(1.0); + bool unnamed_136 = 2 > 1; + bool unnamed_137 = 2u > 1u; + bool unnamed_138 = 2.0 > 1.0; + metal::bool2 unnamed_139 = metal::int2(2) > metal::int2(1); + metal::bool3 unnamed_140 = metal::uint3(2u) > metal::uint3(1u); + metal::bool4 unnamed_141 = metal::float4(2.0) > metal::float4(1.0); + bool unnamed_142 = 2 >= 1; + bool unnamed_143 = 2u >= 1u; + bool unnamed_144 = 2.0 >= 1.0; + metal::bool2 unnamed_145 = metal::int2(2) >= metal::int2(1); + metal::bool3 unnamed_146 = metal::uint3(2u) >= metal::uint3(1u); + metal::bool4 unnamed_147 = metal::float4(2.0) >= metal::float4(1.0); } void assignment( diff --git a/tests/out/spv/operators.spvasm b/tests/out/spv/operators.spvasm index 7d4b79d760..8801c2f24e 100644 --- a/tests/out/spv/operators.spvasm +++ b/tests/out/spv/operators.spvasm @@ -1,12 +1,12 @@ ; SPIR-V ; Version: 1.1 ; Generator: rspirv -; Bound: 461 +; Bound: 519 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 -OpEntryPoint GLCompute %449 "main" -OpExecutionMode %449 LocalSize 1 1 1 +OpEntryPoint GLCompute %507 "main" +OpExecutionMode %507 LocalSize 1 1 1 OpMemberDecorate %30 0 Offset 0 OpMemberDecorate %30 1 Offset 16 OpDecorate %35 ArrayStride 32 @@ -272,247 +272,305 @@ OpBranch %170 %240 = OpCompositeConstruct %171 %7 %7 %241 = OpCompositeConstruct %171 %18 %18 %242 = OpIAdd %171 %241 %240 -%243 = OpCompositeConstruct %171 %18 %18 -%244 = OpCompositeConstruct %171 %7 %7 -%245 = OpISub %171 %243 %244 -%246 = OpCompositeConstruct %171 %7 %7 -%247 = OpCompositeConstruct %171 %18 %18 -%248 = OpISub %171 %247 %246 -%249 = OpCompositeConstruct %171 %18 %18 -%251 = OpCompositeConstruct %171 %7 %7 -%250 = OpIMul %171 %249 %251 -%252 = OpCompositeConstruct %171 %7 %7 -%254 = OpCompositeConstruct %171 %18 %18 -%253 = OpIMul %171 %252 %254 +%243 = OpCompositeConstruct %34 %24 %24 +%244 = OpCompositeConstruct %34 %25 %25 +%245 = OpIAdd %34 %243 %244 +%246 = OpCompositeConstruct %34 %25 %25 +%247 = OpCompositeConstruct %34 %24 %24 +%248 = OpIAdd %34 %247 %246 +%249 = OpCompositeConstruct %31 %14 %14 +%250 = OpCompositeConstruct %31 %3 %3 +%251 = OpFAdd %31 %249 %250 +%252 = OpCompositeConstruct %31 %3 %3 +%253 = OpCompositeConstruct %31 %14 %14 +%254 = OpFAdd %31 %253 %252 %255 = OpCompositeConstruct %171 %18 %18 %256 = OpCompositeConstruct %171 %7 %7 -%257 = OpSDiv %171 %255 %256 +%257 = OpISub %171 %255 %256 %258 = OpCompositeConstruct %171 %7 %7 %259 = OpCompositeConstruct %171 %18 %18 -%260 = OpSDiv %171 %259 %258 -%261 = OpCompositeConstruct %171 %18 %18 -%262 = OpCompositeConstruct %171 %7 %7 -%263 = OpSMod %171 %261 %262 -%264 = OpCompositeConstruct %171 %7 %7 -%265 = OpCompositeConstruct %171 %18 %18 -%266 = OpSMod %171 %265 %264 -%268 = OpCompositeExtract %29 %51 0 -%269 = OpCompositeExtract %29 %51 0 -%270 = OpFAdd %29 %268 %269 -%271 = OpCompositeExtract %29 %51 1 -%272 = OpCompositeExtract %29 %51 1 -%273 = OpFAdd %29 %271 %272 -%274 = OpCompositeExtract %29 %51 2 -%275 = OpCompositeExtract %29 %51 2 -%276 = OpFAdd %29 %274 %275 -%267 = OpCompositeConstruct %37 %270 %273 %276 -%278 = OpCompositeExtract %29 %51 0 -%279 = OpCompositeExtract %29 %51 0 -%280 = OpFSub %29 %278 %279 -%281 = OpCompositeExtract %29 %51 1 -%282 = OpCompositeExtract %29 %51 1 -%283 = OpFSub %29 %281 %282 -%284 = OpCompositeExtract %29 %51 2 -%285 = OpCompositeExtract %29 %51 2 -%286 = OpFSub %29 %284 %285 -%277 = OpCompositeConstruct %37 %280 %283 %286 -%287 = OpMatrixTimesScalar %37 %51 %3 -%288 = OpMatrixTimesScalar %37 %51 %14 -%289 = OpCompositeConstruct %26 %3 %3 %3 %3 -%290 = OpMatrixTimesVector %29 %52 %289 -%291 = OpCompositeConstruct %29 %14 %14 %14 -%292 = OpVectorTimesMatrix %26 %291 %52 -%293 = OpMatrixTimesMatrix %37 %52 %53 +%260 = OpISub %171 %259 %258 +%261 = OpCompositeConstruct %34 %24 %24 +%262 = OpCompositeConstruct %34 %25 %25 +%263 = OpISub %34 %261 %262 +%264 = OpCompositeConstruct %34 %25 %25 +%265 = OpCompositeConstruct %34 %24 %24 +%266 = OpISub %34 %265 %264 +%267 = OpCompositeConstruct %31 %14 %14 +%268 = OpCompositeConstruct %31 %3 %3 +%269 = OpFSub %31 %267 %268 +%270 = OpCompositeConstruct %31 %3 %3 +%271 = OpCompositeConstruct %31 %14 %14 +%272 = OpFSub %31 %271 %270 +%273 = OpCompositeConstruct %171 %18 %18 +%275 = OpCompositeConstruct %171 %7 %7 +%274 = OpIMul %171 %273 %275 +%276 = OpCompositeConstruct %171 %7 %7 +%278 = OpCompositeConstruct %171 %18 %18 +%277 = OpIMul %171 %276 %278 +%279 = OpCompositeConstruct %34 %24 %24 +%281 = OpCompositeConstruct %34 %25 %25 +%280 = OpIMul %34 %279 %281 +%282 = OpCompositeConstruct %34 %25 %25 +%284 = OpCompositeConstruct %34 %24 %24 +%283 = OpIMul %34 %282 %284 +%285 = OpCompositeConstruct %31 %14 %14 +%286 = OpVectorTimesScalar %31 %285 %3 +%287 = OpCompositeConstruct %31 %3 %3 +%288 = OpVectorTimesScalar %31 %287 %14 +%289 = OpCompositeConstruct %171 %18 %18 +%290 = OpCompositeConstruct %171 %7 %7 +%291 = OpSDiv %171 %289 %290 +%292 = OpCompositeConstruct %171 %7 %7 +%293 = OpCompositeConstruct %171 %18 %18 +%294 = OpSDiv %171 %293 %292 +%295 = OpCompositeConstruct %34 %24 %24 +%296 = OpCompositeConstruct %34 %25 %25 +%297 = OpUDiv %34 %295 %296 +%298 = OpCompositeConstruct %34 %25 %25 +%299 = OpCompositeConstruct %34 %24 %24 +%300 = OpUDiv %34 %299 %298 +%301 = OpCompositeConstruct %31 %14 %14 +%302 = OpCompositeConstruct %31 %3 %3 +%303 = OpFDiv %31 %301 %302 +%304 = OpCompositeConstruct %31 %3 %3 +%305 = OpCompositeConstruct %31 %14 %14 +%306 = OpFDiv %31 %305 %304 +%307 = OpCompositeConstruct %171 %18 %18 +%308 = OpCompositeConstruct %171 %7 %7 +%309 = OpSMod %171 %307 %308 +%310 = OpCompositeConstruct %171 %7 %7 +%311 = OpCompositeConstruct %171 %18 %18 +%312 = OpSMod %171 %311 %310 +%313 = OpCompositeConstruct %34 %24 %24 +%314 = OpCompositeConstruct %34 %25 %25 +%315 = OpUMod %34 %313 %314 +%316 = OpCompositeConstruct %34 %25 %25 +%317 = OpCompositeConstruct %34 %24 %24 +%318 = OpUMod %34 %317 %316 +%319 = OpCompositeConstruct %31 %14 %14 +%320 = OpCompositeConstruct %31 %3 %3 +%321 = OpFRem %31 %319 %320 +%322 = OpCompositeConstruct %31 %3 %3 +%323 = OpCompositeConstruct %31 %14 %14 +%324 = OpFRem %31 %323 %322 +%326 = OpCompositeExtract %29 %51 0 +%327 = OpCompositeExtract %29 %51 0 +%328 = OpFAdd %29 %326 %327 +%329 = OpCompositeExtract %29 %51 1 +%330 = OpCompositeExtract %29 %51 1 +%331 = OpFAdd %29 %329 %330 +%332 = OpCompositeExtract %29 %51 2 +%333 = OpCompositeExtract %29 %51 2 +%334 = OpFAdd %29 %332 %333 +%325 = OpCompositeConstruct %37 %328 %331 %334 +%336 = OpCompositeExtract %29 %51 0 +%337 = OpCompositeExtract %29 %51 0 +%338 = OpFSub %29 %336 %337 +%339 = OpCompositeExtract %29 %51 1 +%340 = OpCompositeExtract %29 %51 1 +%341 = OpFSub %29 %339 %340 +%342 = OpCompositeExtract %29 %51 2 +%343 = OpCompositeExtract %29 %51 2 +%344 = OpFSub %29 %342 %343 +%335 = OpCompositeConstruct %37 %338 %341 %344 +%345 = OpMatrixTimesScalar %37 %51 %3 +%346 = OpMatrixTimesScalar %37 %51 %14 +%347 = OpCompositeConstruct %26 %3 %3 %3 %3 +%348 = OpMatrixTimesVector %29 %52 %347 +%349 = OpCompositeConstruct %29 %14 %14 %14 +%350 = OpVectorTimesMatrix %26 %349 %52 +%351 = OpMatrixTimesMatrix %37 %52 %53 OpReturn OpFunctionEnd -%295 = OpFunction %2 None %152 -%294 = OpLabel -OpBranch %296 -%296 = OpLabel -%297 = OpNot %8 %7 -%298 = OpNot %20 %25 -%299 = OpCompositeConstruct %171 %7 %7 -%300 = OpNot %171 %299 -%301 = OpCompositeConstruct %182 %25 %25 %25 -%302 = OpNot %182 %301 -%303 = OpBitwiseOr %8 %18 %7 -%304 = OpBitwiseOr %20 %24 %25 -%305 = OpCompositeConstruct %171 %18 %18 -%306 = OpCompositeConstruct %171 %7 %7 -%307 = OpBitwiseOr %171 %305 %306 -%308 = OpCompositeConstruct %182 %24 %24 %24 -%309 = OpCompositeConstruct %182 %25 %25 %25 -%310 = OpBitwiseOr %182 %308 %309 -%311 = OpBitwiseAnd %8 %18 %7 -%312 = OpBitwiseAnd %20 %24 %25 -%313 = OpCompositeConstruct %171 %18 %18 -%314 = OpCompositeConstruct %171 %7 %7 -%315 = OpBitwiseAnd %171 %313 %314 -%316 = OpCompositeConstruct %182 %24 %24 %24 -%317 = OpCompositeConstruct %182 %25 %25 %25 -%318 = OpBitwiseAnd %182 %316 %317 -%319 = OpBitwiseXor %8 %18 %7 -%320 = OpBitwiseXor %20 %24 %25 -%321 = OpCompositeConstruct %171 %18 %18 -%322 = OpCompositeConstruct %171 %7 %7 -%323 = OpBitwiseXor %171 %321 %322 -%324 = OpCompositeConstruct %182 %24 %24 %24 -%325 = OpCompositeConstruct %182 %25 %25 %25 -%326 = OpBitwiseXor %182 %324 %325 -%327 = OpShiftLeftLogical %8 %18 %25 -%328 = OpShiftLeftLogical %20 %24 %25 -%329 = OpCompositeConstruct %171 %18 %18 -%330 = OpCompositeConstruct %34 %25 %25 -%331 = OpShiftLeftLogical %171 %329 %330 -%332 = OpCompositeConstruct %182 %24 %24 %24 -%333 = OpCompositeConstruct %182 %25 %25 %25 -%334 = OpShiftLeftLogical %182 %332 %333 -%335 = OpShiftRightArithmetic %8 %18 %25 -%336 = OpShiftRightLogical %20 %24 %25 -%337 = OpCompositeConstruct %171 %18 %18 -%338 = OpCompositeConstruct %34 %25 %25 -%339 = OpShiftRightArithmetic %171 %337 %338 -%340 = OpCompositeConstruct %182 %24 %24 %24 -%341 = OpCompositeConstruct %182 %25 %25 %25 -%342 = OpShiftRightLogical %182 %340 %341 +%353 = OpFunction %2 None %152 +%352 = OpLabel +OpBranch %354 +%354 = OpLabel +%355 = OpNot %8 %7 +%356 = OpNot %20 %25 +%357 = OpCompositeConstruct %171 %7 %7 +%358 = OpNot %171 %357 +%359 = OpCompositeConstruct %182 %25 %25 %25 +%360 = OpNot %182 %359 +%361 = OpBitwiseOr %8 %18 %7 +%362 = OpBitwiseOr %20 %24 %25 +%363 = OpCompositeConstruct %171 %18 %18 +%364 = OpCompositeConstruct %171 %7 %7 +%365 = OpBitwiseOr %171 %363 %364 +%366 = OpCompositeConstruct %182 %24 %24 %24 +%367 = OpCompositeConstruct %182 %25 %25 %25 +%368 = OpBitwiseOr %182 %366 %367 +%369 = OpBitwiseAnd %8 %18 %7 +%370 = OpBitwiseAnd %20 %24 %25 +%371 = OpCompositeConstruct %171 %18 %18 +%372 = OpCompositeConstruct %171 %7 %7 +%373 = OpBitwiseAnd %171 %371 %372 +%374 = OpCompositeConstruct %182 %24 %24 %24 +%375 = OpCompositeConstruct %182 %25 %25 %25 +%376 = OpBitwiseAnd %182 %374 %375 +%377 = OpBitwiseXor %8 %18 %7 +%378 = OpBitwiseXor %20 %24 %25 +%379 = OpCompositeConstruct %171 %18 %18 +%380 = OpCompositeConstruct %171 %7 %7 +%381 = OpBitwiseXor %171 %379 %380 +%382 = OpCompositeConstruct %182 %24 %24 %24 +%383 = OpCompositeConstruct %182 %25 %25 %25 +%384 = OpBitwiseXor %182 %382 %383 +%385 = OpShiftLeftLogical %8 %18 %25 +%386 = OpShiftLeftLogical %20 %24 %25 +%387 = OpCompositeConstruct %171 %18 %18 +%388 = OpCompositeConstruct %34 %25 %25 +%389 = OpShiftLeftLogical %171 %387 %388 +%390 = OpCompositeConstruct %182 %24 %24 %24 +%391 = OpCompositeConstruct %182 %25 %25 %25 +%392 = OpShiftLeftLogical %182 %390 %391 +%393 = OpShiftRightArithmetic %8 %18 %25 +%394 = OpShiftRightLogical %20 %24 %25 +%395 = OpCompositeConstruct %171 %18 %18 +%396 = OpCompositeConstruct %34 %25 %25 +%397 = OpShiftRightArithmetic %171 %395 %396 +%398 = OpCompositeConstruct %182 %24 %24 %24 +%399 = OpCompositeConstruct %182 %25 %25 %25 +%400 = OpShiftRightLogical %182 %398 %399 OpReturn OpFunctionEnd -%344 = OpFunction %2 None %152 -%343 = OpLabel -OpBranch %345 -%345 = OpLabel -%346 = OpIEqual %10 %18 %7 -%347 = OpIEqual %10 %24 %25 -%348 = OpFOrdEqual %10 %14 %3 -%349 = OpCompositeConstruct %171 %18 %18 -%350 = OpCompositeConstruct %171 %7 %7 -%351 = OpIEqual %155 %349 %350 -%352 = OpCompositeConstruct %182 %24 %24 %24 -%353 = OpCompositeConstruct %182 %25 %25 %25 -%354 = OpIEqual %100 %352 %353 -%355 = OpCompositeConstruct %26 %14 %14 %14 %14 -%356 = OpCompositeConstruct %26 %3 %3 %3 %3 -%357 = OpFOrdEqual %28 %355 %356 -%358 = OpINotEqual %10 %18 %7 -%359 = OpINotEqual %10 %24 %25 -%360 = OpFOrdNotEqual %10 %14 %3 -%361 = OpCompositeConstruct %171 %18 %18 -%362 = OpCompositeConstruct %171 %7 %7 -%363 = OpINotEqual %155 %361 %362 -%364 = OpCompositeConstruct %182 %24 %24 %24 -%365 = OpCompositeConstruct %182 %25 %25 %25 -%366 = OpINotEqual %100 %364 %365 -%367 = OpCompositeConstruct %26 %14 %14 %14 %14 -%368 = OpCompositeConstruct %26 %3 %3 %3 %3 -%369 = OpFOrdNotEqual %28 %367 %368 -%370 = OpSLessThan %10 %18 %7 -%371 = OpULessThan %10 %24 %25 -%372 = OpFOrdLessThan %10 %14 %3 -%373 = OpCompositeConstruct %171 %18 %18 -%374 = OpCompositeConstruct %171 %7 %7 -%375 = OpSLessThan %155 %373 %374 -%376 = OpCompositeConstruct %182 %24 %24 %24 -%377 = OpCompositeConstruct %182 %25 %25 %25 -%378 = OpULessThan %100 %376 %377 -%379 = OpCompositeConstruct %26 %14 %14 %14 %14 -%380 = OpCompositeConstruct %26 %3 %3 %3 %3 -%381 = OpFOrdLessThan %28 %379 %380 -%382 = OpSLessThanEqual %10 %18 %7 -%383 = OpULessThanEqual %10 %24 %25 -%384 = OpFOrdLessThanEqual %10 %14 %3 -%385 = OpCompositeConstruct %171 %18 %18 -%386 = OpCompositeConstruct %171 %7 %7 -%387 = OpSLessThanEqual %155 %385 %386 -%388 = OpCompositeConstruct %182 %24 %24 %24 -%389 = OpCompositeConstruct %182 %25 %25 %25 -%390 = OpULessThanEqual %100 %388 %389 -%391 = OpCompositeConstruct %26 %14 %14 %14 %14 -%392 = OpCompositeConstruct %26 %3 %3 %3 %3 -%393 = OpFOrdLessThanEqual %28 %391 %392 -%394 = OpSGreaterThan %10 %18 %7 -%395 = OpUGreaterThan %10 %24 %25 -%396 = OpFOrdGreaterThan %10 %14 %3 -%397 = OpCompositeConstruct %171 %18 %18 -%398 = OpCompositeConstruct %171 %7 %7 -%399 = OpSGreaterThan %155 %397 %398 -%400 = OpCompositeConstruct %182 %24 %24 %24 -%401 = OpCompositeConstruct %182 %25 %25 %25 -%402 = OpUGreaterThan %100 %400 %401 -%403 = OpCompositeConstruct %26 %14 %14 %14 %14 -%404 = OpCompositeConstruct %26 %3 %3 %3 %3 -%405 = OpFOrdGreaterThan %28 %403 %404 -%406 = OpSGreaterThanEqual %10 %18 %7 -%407 = OpUGreaterThanEqual %10 %24 %25 -%408 = OpFOrdGreaterThanEqual %10 %14 %3 -%409 = OpCompositeConstruct %171 %18 %18 -%410 = OpCompositeConstruct %171 %7 %7 -%411 = OpSGreaterThanEqual %155 %409 %410 -%412 = OpCompositeConstruct %182 %24 %24 %24 -%413 = OpCompositeConstruct %182 %25 %25 %25 -%414 = OpUGreaterThanEqual %100 %412 %413 -%415 = OpCompositeConstruct %26 %14 %14 %14 %14 -%416 = OpCompositeConstruct %26 %3 %3 %3 %3 -%417 = OpFOrdGreaterThanEqual %28 %415 %416 +%402 = OpFunction %2 None %152 +%401 = OpLabel +OpBranch %403 +%403 = OpLabel +%404 = OpIEqual %10 %18 %7 +%405 = OpIEqual %10 %24 %25 +%406 = OpFOrdEqual %10 %14 %3 +%407 = OpCompositeConstruct %171 %18 %18 +%408 = OpCompositeConstruct %171 %7 %7 +%409 = OpIEqual %155 %407 %408 +%410 = OpCompositeConstruct %182 %24 %24 %24 +%411 = OpCompositeConstruct %182 %25 %25 %25 +%412 = OpIEqual %100 %410 %411 +%413 = OpCompositeConstruct %26 %14 %14 %14 %14 +%414 = OpCompositeConstruct %26 %3 %3 %3 %3 +%415 = OpFOrdEqual %28 %413 %414 +%416 = OpINotEqual %10 %18 %7 +%417 = OpINotEqual %10 %24 %25 +%418 = OpFOrdNotEqual %10 %14 %3 +%419 = OpCompositeConstruct %171 %18 %18 +%420 = OpCompositeConstruct %171 %7 %7 +%421 = OpINotEqual %155 %419 %420 +%422 = OpCompositeConstruct %182 %24 %24 %24 +%423 = OpCompositeConstruct %182 %25 %25 %25 +%424 = OpINotEqual %100 %422 %423 +%425 = OpCompositeConstruct %26 %14 %14 %14 %14 +%426 = OpCompositeConstruct %26 %3 %3 %3 %3 +%427 = OpFOrdNotEqual %28 %425 %426 +%428 = OpSLessThan %10 %18 %7 +%429 = OpULessThan %10 %24 %25 +%430 = OpFOrdLessThan %10 %14 %3 +%431 = OpCompositeConstruct %171 %18 %18 +%432 = OpCompositeConstruct %171 %7 %7 +%433 = OpSLessThan %155 %431 %432 +%434 = OpCompositeConstruct %182 %24 %24 %24 +%435 = OpCompositeConstruct %182 %25 %25 %25 +%436 = OpULessThan %100 %434 %435 +%437 = OpCompositeConstruct %26 %14 %14 %14 %14 +%438 = OpCompositeConstruct %26 %3 %3 %3 %3 +%439 = OpFOrdLessThan %28 %437 %438 +%440 = OpSLessThanEqual %10 %18 %7 +%441 = OpULessThanEqual %10 %24 %25 +%442 = OpFOrdLessThanEqual %10 %14 %3 +%443 = OpCompositeConstruct %171 %18 %18 +%444 = OpCompositeConstruct %171 %7 %7 +%445 = OpSLessThanEqual %155 %443 %444 +%446 = OpCompositeConstruct %182 %24 %24 %24 +%447 = OpCompositeConstruct %182 %25 %25 %25 +%448 = OpULessThanEqual %100 %446 %447 +%449 = OpCompositeConstruct %26 %14 %14 %14 %14 +%450 = OpCompositeConstruct %26 %3 %3 %3 %3 +%451 = OpFOrdLessThanEqual %28 %449 %450 +%452 = OpSGreaterThan %10 %18 %7 +%453 = OpUGreaterThan %10 %24 %25 +%454 = OpFOrdGreaterThan %10 %14 %3 +%455 = OpCompositeConstruct %171 %18 %18 +%456 = OpCompositeConstruct %171 %7 %7 +%457 = OpSGreaterThan %155 %455 %456 +%458 = OpCompositeConstruct %182 %24 %24 %24 +%459 = OpCompositeConstruct %182 %25 %25 %25 +%460 = OpUGreaterThan %100 %458 %459 +%461 = OpCompositeConstruct %26 %14 %14 %14 %14 +%462 = OpCompositeConstruct %26 %3 %3 %3 %3 +%463 = OpFOrdGreaterThan %28 %461 %462 +%464 = OpSGreaterThanEqual %10 %18 %7 +%465 = OpUGreaterThanEqual %10 %24 %25 +%466 = OpFOrdGreaterThanEqual %10 %14 %3 +%467 = OpCompositeConstruct %171 %18 %18 +%468 = OpCompositeConstruct %171 %7 %7 +%469 = OpSGreaterThanEqual %155 %467 %468 +%470 = OpCompositeConstruct %182 %24 %24 %24 +%471 = OpCompositeConstruct %182 %25 %25 %25 +%472 = OpUGreaterThanEqual %100 %470 %471 +%473 = OpCompositeConstruct %26 %14 %14 %14 %14 +%474 = OpCompositeConstruct %26 %3 %3 %3 %3 +%475 = OpFOrdGreaterThanEqual %28 %473 %474 OpReturn OpFunctionEnd -%420 = OpFunction %2 None %152 -%419 = OpLabel -%418 = OpVariable %111 Function %7 -OpBranch %421 -%421 = OpLabel -%422 = OpLoad %8 %418 -%423 = OpIAdd %8 %422 %7 -OpStore %418 %423 -%424 = OpLoad %8 %418 -%425 = OpISub %8 %424 %7 -OpStore %418 %425 -%426 = OpLoad %8 %418 -%427 = OpLoad %8 %418 -%428 = OpIMul %8 %426 %427 -OpStore %418 %428 -%429 = OpLoad %8 %418 -%430 = OpLoad %8 %418 -%431 = OpSDiv %8 %429 %430 -OpStore %418 %431 -%432 = OpLoad %8 %418 -%433 = OpSMod %8 %432 %7 -OpStore %418 %433 -%434 = OpLoad %8 %418 -%435 = OpBitwiseAnd %8 %434 %11 -OpStore %418 %435 -%436 = OpLoad %8 %418 -%437 = OpBitwiseOr %8 %436 %11 -OpStore %418 %437 -%438 = OpLoad %8 %418 -%439 = OpBitwiseXor %8 %438 %11 -OpStore %418 %439 -%440 = OpLoad %8 %418 -%441 = OpShiftLeftLogical %8 %440 %24 -OpStore %418 %441 -%442 = OpLoad %8 %418 -%443 = OpShiftRightArithmetic %8 %442 %25 -OpStore %418 %443 -%444 = OpLoad %8 %418 -%445 = OpIAdd %8 %444 %7 -OpStore %418 %445 -%446 = OpLoad %8 %418 -%447 = OpISub %8 %446 %7 -OpStore %418 %447 +%478 = OpFunction %2 None %152 +%477 = OpLabel +%476 = OpVariable %111 Function %7 +OpBranch %479 +%479 = OpLabel +%480 = OpLoad %8 %476 +%481 = OpIAdd %8 %480 %7 +OpStore %476 %481 +%482 = OpLoad %8 %476 +%483 = OpISub %8 %482 %7 +OpStore %476 %483 +%484 = OpLoad %8 %476 +%485 = OpLoad %8 %476 +%486 = OpIMul %8 %484 %485 +OpStore %476 %486 +%487 = OpLoad %8 %476 +%488 = OpLoad %8 %476 +%489 = OpSDiv %8 %487 %488 +OpStore %476 %489 +%490 = OpLoad %8 %476 +%491 = OpSMod %8 %490 %7 +OpStore %476 %491 +%492 = OpLoad %8 %476 +%493 = OpBitwiseAnd %8 %492 %11 +OpStore %476 %493 +%494 = OpLoad %8 %476 +%495 = OpBitwiseOr %8 %494 %11 +OpStore %476 %495 +%496 = OpLoad %8 %476 +%497 = OpBitwiseXor %8 %496 %11 +OpStore %476 %497 +%498 = OpLoad %8 %476 +%499 = OpShiftLeftLogical %8 %498 %24 +OpStore %476 %499 +%500 = OpLoad %8 %476 +%501 = OpShiftRightArithmetic %8 %500 %25 +OpStore %476 %501 +%502 = OpLoad %8 %476 +%503 = OpIAdd %8 %502 %7 +OpStore %476 %503 +%504 = OpLoad %8 %476 +%505 = OpISub %8 %504 %7 +OpStore %476 %505 OpReturn OpFunctionEnd -%449 = OpFunction %2 None %152 -%448 = OpLabel -OpBranch %450 -%450 = OpLabel -%451 = OpFunctionCall %26 %55 -%452 = OpFunctionCall %26 %80 -%453 = OpVectorShuffle %29 %40 %40 0 1 2 -%454 = OpFunctionCall %29 %97 %453 -%455 = OpFunctionCall %4 %128 -%456 = OpFunctionCall %2 %151 -%457 = OpFunctionCall %2 %169 -%458 = OpFunctionCall %2 %295 -%459 = OpFunctionCall %2 %344 -%460 = OpFunctionCall %2 %420 +%507 = OpFunction %2 None %152 +%506 = OpLabel +OpBranch %508 +%508 = OpLabel +%509 = OpFunctionCall %26 %55 +%510 = OpFunctionCall %26 %80 +%511 = OpVectorShuffle %29 %40 %40 0 1 2 +%512 = OpFunctionCall %29 %97 %511 +%513 = OpFunctionCall %4 %128 +%514 = OpFunctionCall %2 %151 +%515 = OpFunctionCall %2 %169 +%516 = OpFunctionCall %2 %353 +%517 = OpFunctionCall %2 %402 +%518 = OpFunctionCall %2 %478 OpReturn OpFunctionEnd \ No newline at end of file diff --git a/tests/out/wgsl/operators.wgsl b/tests/out/wgsl/operators.wgsl index c504b2f84b..262042296c 100644 --- a/tests/out/wgsl/operators.wgsl +++ b/tests/out/wgsl/operators.wgsl @@ -100,87 +100,107 @@ fn arithmetic() { let unnamed_50 = (vec4(2.0) % vec4(1.0)); let unnamed_51 = (vec2(2) + vec2(1)); let unnamed_52 = (vec2(2) + vec2(1)); - let unnamed_53 = (vec2(2) - vec2(1)); - let unnamed_54 = (vec2(2) - vec2(1)); - let unnamed_55 = (vec2(2) * 1); - let unnamed_56 = (2 * vec2(1)); - let unnamed_57 = (vec2(2) / vec2(1)); - let unnamed_58 = (vec2(2) / vec2(1)); - let unnamed_59 = (vec2(2) % vec2(1)); - let unnamed_60 = (vec2(2) % vec2(1)); - let unnamed_61 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) + mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); - let unnamed_62 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) - mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); - let unnamed_63 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * 1.0); - let unnamed_64 = (2.0 * mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); - let unnamed_65 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * vec4(1.0)); - let unnamed_66 = (vec3(2.0) * mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); - let unnamed_67 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * mat3x4(vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0))); + let unnamed_53 = (vec2(2u) + vec2(1u)); + let unnamed_54 = (vec2(2u) + vec2(1u)); + let unnamed_55 = (vec2(2.0) + vec2(1.0)); + let unnamed_56 = (vec2(2.0) + vec2(1.0)); + let unnamed_57 = (vec2(2) - vec2(1)); + let unnamed_58 = (vec2(2) - vec2(1)); + let unnamed_59 = (vec2(2u) - vec2(1u)); + let unnamed_60 = (vec2(2u) - vec2(1u)); + let unnamed_61 = (vec2(2.0) - vec2(1.0)); + let unnamed_62 = (vec2(2.0) - vec2(1.0)); + let unnamed_63 = (vec2(2) * 1); + let unnamed_64 = (2 * vec2(1)); + let unnamed_65 = (vec2(2u) * 1u); + let unnamed_66 = (2u * vec2(1u)); + let unnamed_67 = (vec2(2.0) * 1.0); + let unnamed_68 = (2.0 * vec2(1.0)); + let unnamed_69 = (vec2(2) / vec2(1)); + let unnamed_70 = (vec2(2) / vec2(1)); + let unnamed_71 = (vec2(2u) / vec2(1u)); + let unnamed_72 = (vec2(2u) / vec2(1u)); + let unnamed_73 = (vec2(2.0) / vec2(1.0)); + let unnamed_74 = (vec2(2.0) / vec2(1.0)); + let unnamed_75 = (vec2(2) % vec2(1)); + let unnamed_76 = (vec2(2) % vec2(1)); + let unnamed_77 = (vec2(2u) % vec2(1u)); + let unnamed_78 = (vec2(2u) % vec2(1u)); + let unnamed_79 = (vec2(2.0) % vec2(1.0)); + let unnamed_80 = (vec2(2.0) % vec2(1.0)); + let unnamed_81 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) + mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); + let unnamed_82 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) - mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); + let unnamed_83 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * 1.0); + let unnamed_84 = (2.0 * mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); + let unnamed_85 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * vec4(1.0)); + let unnamed_86 = (vec3(2.0) * mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0))); + let unnamed_87 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * mat3x4(vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0))); } fn bit() { - let unnamed_68 = ~(1); - let unnamed_69 = ~(1u); - let unnamed_70 = !(vec2(1)); - let unnamed_71 = !(vec3(1u)); - let unnamed_72 = (2 | 1); - let unnamed_73 = (2u | 1u); - let unnamed_74 = (vec2(2) | vec2(1)); - let unnamed_75 = (vec3(2u) | vec3(1u)); - let unnamed_76 = (2 & 1); - let unnamed_77 = (2u & 1u); - let unnamed_78 = (vec2(2) & vec2(1)); - let unnamed_79 = (vec3(2u) & vec3(1u)); - let unnamed_80 = (2 ^ 1); - let unnamed_81 = (2u ^ 1u); - let unnamed_82 = (vec2(2) ^ vec2(1)); - let unnamed_83 = (vec3(2u) ^ vec3(1u)); - let unnamed_84 = (2 << 1u); - let unnamed_85 = (2u << 1u); - let unnamed_86 = (vec2(2) << vec2(1u)); - let unnamed_87 = (vec3(2u) << vec3(1u)); - let unnamed_88 = (2 >> 1u); - let unnamed_89 = (2u >> 1u); - let unnamed_90 = (vec2(2) >> vec2(1u)); - let unnamed_91 = (vec3(2u) >> vec3(1u)); + let unnamed_88 = ~(1); + let unnamed_89 = ~(1u); + let unnamed_90 = !(vec2(1)); + let unnamed_91 = !(vec3(1u)); + let unnamed_92 = (2 | 1); + let unnamed_93 = (2u | 1u); + let unnamed_94 = (vec2(2) | vec2(1)); + let unnamed_95 = (vec3(2u) | vec3(1u)); + let unnamed_96 = (2 & 1); + let unnamed_97 = (2u & 1u); + let unnamed_98 = (vec2(2) & vec2(1)); + let unnamed_99 = (vec3(2u) & vec3(1u)); + let unnamed_100 = (2 ^ 1); + let unnamed_101 = (2u ^ 1u); + let unnamed_102 = (vec2(2) ^ vec2(1)); + let unnamed_103 = (vec3(2u) ^ vec3(1u)); + let unnamed_104 = (2 << 1u); + let unnamed_105 = (2u << 1u); + let unnamed_106 = (vec2(2) << vec2(1u)); + let unnamed_107 = (vec3(2u) << vec3(1u)); + let unnamed_108 = (2 >> 1u); + let unnamed_109 = (2u >> 1u); + let unnamed_110 = (vec2(2) >> vec2(1u)); + let unnamed_111 = (vec3(2u) >> vec3(1u)); } fn comparison() { - let unnamed_92 = (2 == 1); - let unnamed_93 = (2u == 1u); - let unnamed_94 = (2.0 == 1.0); - let unnamed_95 = (vec2(2) == vec2(1)); - let unnamed_96 = (vec3(2u) == vec3(1u)); - let unnamed_97 = (vec4(2.0) == vec4(1.0)); - let unnamed_98 = (2 != 1); - let unnamed_99 = (2u != 1u); - let unnamed_100 = (2.0 != 1.0); - let unnamed_101 = (vec2(2) != vec2(1)); - let unnamed_102 = (vec3(2u) != vec3(1u)); - let unnamed_103 = (vec4(2.0) != vec4(1.0)); - let unnamed_104 = (2 < 1); - let unnamed_105 = (2u < 1u); - let unnamed_106 = (2.0 < 1.0); - let unnamed_107 = (vec2(2) < vec2(1)); - let unnamed_108 = (vec3(2u) < vec3(1u)); - let unnamed_109 = (vec4(2.0) < vec4(1.0)); - let unnamed_110 = (2 <= 1); - let unnamed_111 = (2u <= 1u); - let unnamed_112 = (2.0 <= 1.0); - let unnamed_113 = (vec2(2) <= vec2(1)); - let unnamed_114 = (vec3(2u) <= vec3(1u)); - let unnamed_115 = (vec4(2.0) <= vec4(1.0)); - let unnamed_116 = (2 > 1); - let unnamed_117 = (2u > 1u); - let unnamed_118 = (2.0 > 1.0); - let unnamed_119 = (vec2(2) > vec2(1)); - let unnamed_120 = (vec3(2u) > vec3(1u)); - let unnamed_121 = (vec4(2.0) > vec4(1.0)); - let unnamed_122 = (2 >= 1); - let unnamed_123 = (2u >= 1u); - let unnamed_124 = (2.0 >= 1.0); - let unnamed_125 = (vec2(2) >= vec2(1)); - let unnamed_126 = (vec3(2u) >= vec3(1u)); - let unnamed_127 = (vec4(2.0) >= vec4(1.0)); + let unnamed_112 = (2 == 1); + let unnamed_113 = (2u == 1u); + let unnamed_114 = (2.0 == 1.0); + let unnamed_115 = (vec2(2) == vec2(1)); + let unnamed_116 = (vec3(2u) == vec3(1u)); + let unnamed_117 = (vec4(2.0) == vec4(1.0)); + let unnamed_118 = (2 != 1); + let unnamed_119 = (2u != 1u); + let unnamed_120 = (2.0 != 1.0); + let unnamed_121 = (vec2(2) != vec2(1)); + let unnamed_122 = (vec3(2u) != vec3(1u)); + let unnamed_123 = (vec4(2.0) != vec4(1.0)); + let unnamed_124 = (2 < 1); + let unnamed_125 = (2u < 1u); + let unnamed_126 = (2.0 < 1.0); + let unnamed_127 = (vec2(2) < vec2(1)); + let unnamed_128 = (vec3(2u) < vec3(1u)); + let unnamed_129 = (vec4(2.0) < vec4(1.0)); + let unnamed_130 = (2 <= 1); + let unnamed_131 = (2u <= 1u); + let unnamed_132 = (2.0 <= 1.0); + let unnamed_133 = (vec2(2) <= vec2(1)); + let unnamed_134 = (vec3(2u) <= vec3(1u)); + let unnamed_135 = (vec4(2.0) <= vec4(1.0)); + let unnamed_136 = (2 > 1); + let unnamed_137 = (2u > 1u); + let unnamed_138 = (2.0 > 1.0); + let unnamed_139 = (vec2(2) > vec2(1)); + let unnamed_140 = (vec3(2u) > vec3(1u)); + let unnamed_141 = (vec4(2.0) > vec4(1.0)); + let unnamed_142 = (2 >= 1); + let unnamed_143 = (2u >= 1u); + let unnamed_144 = (2.0 >= 1.0); + let unnamed_145 = (vec2(2) >= vec2(1)); + let unnamed_146 = (vec3(2u) >= vec3(1u)); + let unnamed_147 = (vec4(2.0) >= vec4(1.0)); } fn assignment() {