diff --git a/src/back/glsl/mod.rs b/src/back/glsl/mod.rs index f052b3becb..95d8046894 100644 --- a/src/back/glsl/mod.rs +++ b/src/back/glsl/mod.rs @@ -2457,10 +2457,13 @@ impl<'a, W: Write> Writer<'a, W> { "({} ", match op { Uo::Negate => "-", - Uo::Not => match *ctx.info[expr].ty.inner_with(&self.module.types) { - TypeInner::Scalar { kind: Sk::Sint, .. } => "~", - TypeInner::Scalar { kind: Sk::Uint, .. } => "~", - TypeInner::Scalar { kind: Sk::Bool, .. } => "!", + Uo::Not => match ctx.info[expr] + .ty + .inner_with(&self.module.types) + .scalar_kind() + { + Some(Sk::Sint) | Some(Sk::Uint) => "~", + Some(Sk::Bool) => "!", ref other => return Err(Error::Custom(format!( "Cannot apply not to type {:?}", diff --git a/src/back/hlsl/writer.rs b/src/back/hlsl/writer.rs index 4f3c880493..a0992b0a28 100644 --- a/src/back/hlsl/writer.rs +++ b/src/back/hlsl/writer.rs @@ -2041,10 +2041,13 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> { // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-operators#unary-operators let op_str = match op { Uo::Negate => "-", - Uo::Not => match *func_ctx.info[expr].ty.inner_with(&module.types) { - TypeInner::Scalar { kind: Sk::Sint, .. } => "~", - TypeInner::Scalar { kind: Sk::Uint, .. } => "~", - TypeInner::Scalar { kind: Sk::Bool, .. } => "!", + Uo::Not => match func_ctx.info[expr] + .ty + .inner_with(&module.types) + .scalar_kind() + { + Some(Sk::Sint) | Some(Sk::Uint) => "~", + Some(Sk::Bool) => "!", ref other => { return Err(Error::Custom(format!( "Cannot apply not to type {:?}", diff --git a/src/back/msl/writer.rs b/src/back/msl/writer.rs index 3d1a109725..982742c7ab 100644 --- a/src/back/msl/writer.rs +++ b/src/back/msl/writer.rs @@ -1421,10 +1421,9 @@ impl Writer { use crate::{ScalarKind as Sk, UnaryOperator as Uo}; let op_str = match op { Uo::Negate => "-", - Uo::Not => match *context.resolve_type(expr) { - crate::TypeInner::Scalar { kind: Sk::Sint, .. } => "~", - crate::TypeInner::Scalar { kind: Sk::Uint, .. } => "~", - crate::TypeInner::Scalar { kind: Sk::Bool, .. } => "!", + Uo::Not => match context.resolve_type(expr).scalar_kind() { + Some(Sk::Sint) | Some(Sk::Uint) => "~", + Some(Sk::Bool) => "!", _ => return Err(Error::Validation), }, }; diff --git a/tests/in/operators.wgsl b/tests/in/operators.wgsl index 8522e830cf..31ca1f7405 100644 --- a/tests/in/operators.wgsl +++ b/tests/in/operators.wgsl @@ -74,7 +74,7 @@ fn constructors() -> f32 { fn logical() { // unary let _ = !true; - // let _ = !vec2(true); + let _ = !vec2(true); // binary let _ = true || false; @@ -166,8 +166,8 @@ fn bit() { // unary let _ = ~1; let _ = ~1u; - // let _ = ~vec2(1); - // let _ = ~vec3(1u); + let _ = ~vec2(1); + let _ = ~vec3(1u); // binary let _ = 2 | 1; diff --git a/tests/out/glsl/operators.main.Compute.glsl b/tests/out/glsl/operators.main.Compute.glsl index 1f8bdcc9b0..2aeb893a97 100644 --- a/tests/out/glsl/operators.main.Compute.glsl +++ b/tests/out/glsl/operators.main.Compute.glsl @@ -58,126 +58,129 @@ float constructors() { void logical() { bool unnamed_11 = (! true); - bool unnamed_12 = (true || false); - bool unnamed_13 = (true && false); - bool unnamed_14 = (true || false); - bvec3 unnamed_15 = (bvec3(true) | bvec3(false)); - bool unnamed_16 = (true && false); - bvec4 unnamed_17 = (bvec4(true) & bvec4(false)); + bvec2 unnamed_12 = (! bvec2(true)); + bool unnamed_13 = (true || false); + bool unnamed_14 = (true && false); + bool unnamed_15 = (true || false); + bvec3 unnamed_16 = (bvec3(true) | bvec3(false)); + bool unnamed_17 = (true && false); + bvec4 unnamed_18 = (bvec4(true) & bvec4(false)); } void arithmetic() { - ivec2 unnamed_18 = (- ivec2(1)); - vec2 unnamed_19 = (- vec2(1.0)); - int unnamed_20 = (2 + 1); - uint unnamed_21 = (2u + 1u); - float unnamed_22 = (2.0 + 1.0); - ivec2 unnamed_23 = (ivec2(2) + ivec2(1)); - uvec3 unnamed_24 = (uvec3(2u) + uvec3(1u)); - vec4 unnamed_25 = (vec4(2.0) + vec4(1.0)); - int unnamed_26 = (2 - 1); - uint unnamed_27 = (2u - 1u); - float unnamed_28 = (2.0 - 1.0); - ivec2 unnamed_29 = (ivec2(2) - ivec2(1)); - uvec3 unnamed_30 = (uvec3(2u) - uvec3(1u)); - vec4 unnamed_31 = (vec4(2.0) - vec4(1.0)); - int unnamed_32 = (2 * 1); - uint unnamed_33 = (2u * 1u); - float unnamed_34 = (2.0 * 1.0); - ivec2 unnamed_35 = (ivec2(2) * ivec2(1)); - uvec3 unnamed_36 = (uvec3(2u) * uvec3(1u)); - vec4 unnamed_37 = (vec4(2.0) * vec4(1.0)); - int unnamed_38 = (2 / 1); - uint unnamed_39 = (2u / 1u); - float unnamed_40 = (2.0 / 1.0); - ivec2 unnamed_41 = (ivec2(2) / ivec2(1)); - uvec3 unnamed_42 = (uvec3(2u) / uvec3(1u)); - vec4 unnamed_43 = (vec4(2.0) / vec4(1.0)); - int unnamed_44 = (2 % 1); - uint unnamed_45 = (2u % 1u); - float unnamed_46 = (2.0 - 1.0 * trunc(2.0 / 1.0)); - ivec2 unnamed_47 = (ivec2(2) % ivec2(1)); - uvec3 unnamed_48 = (uvec3(2u) % uvec3(1u)); - vec4 unnamed_49 = (vec4(2.0) - vec4(1.0) * trunc(vec4(2.0) / vec4(1.0))); - ivec2 unnamed_50 = (ivec2(2) + ivec2(1)); + ivec2 unnamed_19 = (- ivec2(1)); + vec2 unnamed_20 = (- vec2(1.0)); + int unnamed_21 = (2 + 1); + uint unnamed_22 = (2u + 1u); + float unnamed_23 = (2.0 + 1.0); + ivec2 unnamed_24 = (ivec2(2) + ivec2(1)); + uvec3 unnamed_25 = (uvec3(2u) + uvec3(1u)); + vec4 unnamed_26 = (vec4(2.0) + vec4(1.0)); + int unnamed_27 = (2 - 1); + uint unnamed_28 = (2u - 1u); + float unnamed_29 = (2.0 - 1.0); + ivec2 unnamed_30 = (ivec2(2) - ivec2(1)); + uvec3 unnamed_31 = (uvec3(2u) - uvec3(1u)); + vec4 unnamed_32 = (vec4(2.0) - vec4(1.0)); + int unnamed_33 = (2 * 1); + uint unnamed_34 = (2u * 1u); + float unnamed_35 = (2.0 * 1.0); + ivec2 unnamed_36 = (ivec2(2) * ivec2(1)); + uvec3 unnamed_37 = (uvec3(2u) * uvec3(1u)); + vec4 unnamed_38 = (vec4(2.0) * vec4(1.0)); + int unnamed_39 = (2 / 1); + uint unnamed_40 = (2u / 1u); + float unnamed_41 = (2.0 / 1.0); + ivec2 unnamed_42 = (ivec2(2) / ivec2(1)); + uvec3 unnamed_43 = (uvec3(2u) / uvec3(1u)); + vec4 unnamed_44 = (vec4(2.0) / vec4(1.0)); + int unnamed_45 = (2 % 1); + uint unnamed_46 = (2u % 1u); + float unnamed_47 = (2.0 - 1.0 * trunc(2.0 / 1.0)); + ivec2 unnamed_48 = (ivec2(2) % ivec2(1)); + uvec3 unnamed_49 = (uvec3(2u) % uvec3(1u)); + 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_52 = (ivec2(2) + ivec2(1)); ivec2 unnamed_53 = (ivec2(2) - ivec2(1)); - ivec2 unnamed_54 = (ivec2(2) * 1); - ivec2 unnamed_55 = (2 * ivec2(1)); - ivec2 unnamed_56 = (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_58 = (ivec2(2) / ivec2(1)); ivec2 unnamed_59 = (ivec2(2) % ivec2(1)); - mat3x3 unnamed_60 = (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_61 = (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_62 = (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_63 = (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_64 = (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))); + 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)) * 1.0); + mat3x3 unnamed_62 = (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_63 = (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_64 = (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_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)) * 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_65 = (~ 1); - uint unnamed_66 = (~ 1u); - int unnamed_67 = (2 | 1); - uint unnamed_68 = (2u | 1u); - ivec2 unnamed_69 = (ivec2(2) | ivec2(1)); - uvec3 unnamed_70 = (uvec3(2u) | uvec3(1u)); - int unnamed_71 = (2 & 1); - uint unnamed_72 = (2u & 1u); - ivec2 unnamed_73 = (ivec2(2) & ivec2(1)); - uvec3 unnamed_74 = (uvec3(2u) & uvec3(1u)); - int unnamed_75 = (2 ^ 1); - uint unnamed_76 = (2u ^ 1u); - ivec2 unnamed_77 = (ivec2(2) ^ ivec2(1)); - uvec3 unnamed_78 = (uvec3(2u) ^ uvec3(1u)); - int unnamed_79 = (2 << 1u); - uint unnamed_80 = (2u << 1u); - ivec2 unnamed_81 = (ivec2(2) << uvec2(1u)); - uvec3 unnamed_82 = (uvec3(2u) << uvec3(1u)); - int unnamed_83 = (2 >> 1u); - uint unnamed_84 = (2u >> 1u); - ivec2 unnamed_85 = (ivec2(2) >> uvec2(1u)); - uvec3 unnamed_86 = (uvec3(2u) >> uvec3(1u)); + int unnamed_66 = (~ 1); + uint unnamed_67 = (~ 1u); + ivec2 unnamed_68 = (~ ivec2(1)); + uvec3 unnamed_69 = (~ uvec3(1u)); + int unnamed_70 = (2 | 1); + uint unnamed_71 = (2u | 1u); + ivec2 unnamed_72 = (ivec2(2) | ivec2(1)); + uvec3 unnamed_73 = (uvec3(2u) | uvec3(1u)); + int unnamed_74 = (2 & 1); + uint unnamed_75 = (2u & 1u); + ivec2 unnamed_76 = (ivec2(2) & ivec2(1)); + uvec3 unnamed_77 = (uvec3(2u) & uvec3(1u)); + int unnamed_78 = (2 ^ 1); + uint unnamed_79 = (2u ^ 1u); + ivec2 unnamed_80 = (ivec2(2) ^ ivec2(1)); + uvec3 unnamed_81 = (uvec3(2u) ^ uvec3(1u)); + int unnamed_82 = (2 << 1u); + uint unnamed_83 = (2u << 1u); + ivec2 unnamed_84 = (ivec2(2) << uvec2(1u)); + uvec3 unnamed_85 = (uvec3(2u) << uvec3(1u)); + int unnamed_86 = (2 >> 1u); + uint unnamed_87 = (2u >> 1u); + ivec2 unnamed_88 = (ivec2(2) >> uvec2(1u)); + uvec3 unnamed_89 = (uvec3(2u) >> uvec3(1u)); } void comparison() { - bool unnamed_87 = (2 == 1); - bool unnamed_88 = (2u == 1u); - bool unnamed_89 = (2.0 == 1.0); - bvec2 unnamed_90 = equal(ivec2(2), ivec2(1)); - bvec3 unnamed_91 = equal(uvec3(2u), uvec3(1u)); - bvec4 unnamed_92 = equal(vec4(2.0), vec4(1.0)); - bool unnamed_93 = (2 != 1); - bool unnamed_94 = (2u != 1u); - bool unnamed_95 = (2.0 != 1.0); - bvec2 unnamed_96 = notEqual(ivec2(2), ivec2(1)); - bvec3 unnamed_97 = notEqual(uvec3(2u), uvec3(1u)); - bvec4 unnamed_98 = notEqual(vec4(2.0), vec4(1.0)); - bool unnamed_99 = (2 < 1); - bool unnamed_100 = (2u < 1u); - bool unnamed_101 = (2.0 < 1.0); - bvec2 unnamed_102 = lessThan(ivec2(2), ivec2(1)); - bvec3 unnamed_103 = lessThan(uvec3(2u), uvec3(1u)); - bvec4 unnamed_104 = lessThan(vec4(2.0), vec4(1.0)); - bool unnamed_105 = (2 <= 1); - bool unnamed_106 = (2u <= 1u); - bool unnamed_107 = (2.0 <= 1.0); - bvec2 unnamed_108 = lessThanEqual(ivec2(2), ivec2(1)); - bvec3 unnamed_109 = lessThanEqual(uvec3(2u), uvec3(1u)); - bvec4 unnamed_110 = lessThanEqual(vec4(2.0), vec4(1.0)); - bool unnamed_111 = (2 > 1); - bool unnamed_112 = (2u > 1u); - bool unnamed_113 = (2.0 > 1.0); - bvec2 unnamed_114 = greaterThan(ivec2(2), ivec2(1)); - bvec3 unnamed_115 = greaterThan(uvec3(2u), uvec3(1u)); - bvec4 unnamed_116 = greaterThan(vec4(2.0), vec4(1.0)); - bool unnamed_117 = (2 >= 1); - bool unnamed_118 = (2u >= 1u); - bool unnamed_119 = (2.0 >= 1.0); - bvec2 unnamed_120 = greaterThanEqual(ivec2(2), ivec2(1)); - bvec3 unnamed_121 = greaterThanEqual(uvec3(2u), uvec3(1u)); - bvec4 unnamed_122 = greaterThanEqual(vec4(2.0), vec4(1.0)); + bool unnamed_90 = (2 == 1); + bool unnamed_91 = (2u == 1u); + bool unnamed_92 = (2.0 == 1.0); + bvec2 unnamed_93 = equal(ivec2(2), ivec2(1)); + bvec3 unnamed_94 = equal(uvec3(2u), uvec3(1u)); + bvec4 unnamed_95 = equal(vec4(2.0), vec4(1.0)); + bool unnamed_96 = (2 != 1); + bool unnamed_97 = (2u != 1u); + bool unnamed_98 = (2.0 != 1.0); + bvec2 unnamed_99 = notEqual(ivec2(2), ivec2(1)); + bvec3 unnamed_100 = notEqual(uvec3(2u), uvec3(1u)); + bvec4 unnamed_101 = notEqual(vec4(2.0), vec4(1.0)); + bool unnamed_102 = (2 < 1); + bool unnamed_103 = (2u < 1u); + bool unnamed_104 = (2.0 < 1.0); + bvec2 unnamed_105 = lessThan(ivec2(2), ivec2(1)); + bvec3 unnamed_106 = lessThan(uvec3(2u), uvec3(1u)); + bvec4 unnamed_107 = lessThan(vec4(2.0), vec4(1.0)); + bool unnamed_108 = (2 <= 1); + bool unnamed_109 = (2u <= 1u); + bool unnamed_110 = (2.0 <= 1.0); + bvec2 unnamed_111 = lessThanEqual(ivec2(2), ivec2(1)); + bvec3 unnamed_112 = lessThanEqual(uvec3(2u), uvec3(1u)); + bvec4 unnamed_113 = lessThanEqual(vec4(2.0), vec4(1.0)); + bool unnamed_114 = (2 > 1); + bool unnamed_115 = (2u > 1u); + bool unnamed_116 = (2.0 > 1.0); + bvec2 unnamed_117 = greaterThan(ivec2(2), ivec2(1)); + bvec3 unnamed_118 = greaterThan(uvec3(2u), uvec3(1u)); + bvec4 unnamed_119 = greaterThan(vec4(2.0), vec4(1.0)); + bool unnamed_120 = (2 >= 1); + bool unnamed_121 = (2u >= 1u); + bool unnamed_122 = (2.0 >= 1.0); + bvec2 unnamed_123 = greaterThanEqual(ivec2(2), ivec2(1)); + bvec3 unnamed_124 = greaterThanEqual(uvec3(2u), uvec3(1u)); + bvec4 unnamed_125 = greaterThanEqual(vec4(2.0), vec4(1.0)); } void assignment() { diff --git a/tests/out/hlsl/operators.hlsl b/tests/out/hlsl/operators.hlsl index ec4af04b97..5275cbe3b9 100644 --- a/tests/out/hlsl/operators.hlsl +++ b/tests/out/hlsl/operators.hlsl @@ -85,129 +85,132 @@ float constructors() void logical() { bool unnamed_11 = !true; - bool unnamed_12 = (true || false); - bool unnamed_13 = (true && false); - bool unnamed_14 = (true | false); - bool3 unnamed_15 = (bool3(true.xxx) | bool3(false.xxx)); - bool unnamed_16 = (true & false); - bool4 unnamed_17 = (bool4(true.xxxx) & bool4(false.xxxx)); + bool2 unnamed_12 = !bool2(true.xx); + bool unnamed_13 = (true || false); + bool unnamed_14 = (true && false); + bool unnamed_15 = (true | false); + bool3 unnamed_16 = (bool3(true.xxx) | bool3(false.xxx)); + bool unnamed_17 = (true & false); + bool4 unnamed_18 = (bool4(true.xxxx) & bool4(false.xxxx)); } void arithmetic() { - int2 unnamed_18 = -int2(1.xx); - float2 unnamed_19 = -float2(1.0.xx); - int unnamed_20 = (2 + 1); - uint unnamed_21 = (2u + 1u); - float unnamed_22 = (2.0 + 1.0); - int2 unnamed_23 = (int2(2.xx) + int2(1.xx)); - uint3 unnamed_24 = (uint3(2u.xxx) + uint3(1u.xxx)); - float4 unnamed_25 = (float4(2.0.xxxx) + float4(1.0.xxxx)); - int unnamed_26 = (2 - 1); - uint unnamed_27 = (2u - 1u); - float unnamed_28 = (2.0 - 1.0); - int2 unnamed_29 = (int2(2.xx) - int2(1.xx)); - uint3 unnamed_30 = (uint3(2u.xxx) - uint3(1u.xxx)); - float4 unnamed_31 = (float4(2.0.xxxx) - float4(1.0.xxxx)); - int unnamed_32 = (2 * 1); - uint unnamed_33 = (2u * 1u); - float unnamed_34 = (2.0 * 1.0); - int2 unnamed_35 = (int2(2.xx) * int2(1.xx)); - uint3 unnamed_36 = (uint3(2u.xxx) * uint3(1u.xxx)); - float4 unnamed_37 = (float4(2.0.xxxx) * float4(1.0.xxxx)); - int unnamed_38 = (2 / 1); - uint unnamed_39 = (2u / 1u); - float unnamed_40 = (2.0 / 1.0); - int2 unnamed_41 = (int2(2.xx) / int2(1.xx)); - uint3 unnamed_42 = (uint3(2u.xxx) / uint3(1u.xxx)); - float4 unnamed_43 = (float4(2.0.xxxx) / float4(1.0.xxxx)); - int unnamed_44 = (2 % 1); - uint unnamed_45 = (2u % 1u); - float unnamed_46 = (2.0 % 1.0); - int2 unnamed_47 = (int2(2.xx) % int2(1.xx)); - uint3 unnamed_48 = (uint3(2u.xxx) % uint3(1u.xxx)); - float4 unnamed_49 = (float4(2.0.xxxx) % float4(1.0.xxxx)); - int2 unnamed_50 = (int2(2.xx) + int2(1.xx)); + int2 unnamed_19 = -int2(1.xx); + float2 unnamed_20 = -float2(1.0.xx); + int unnamed_21 = (2 + 1); + uint unnamed_22 = (2u + 1u); + float unnamed_23 = (2.0 + 1.0); + int2 unnamed_24 = (int2(2.xx) + int2(1.xx)); + uint3 unnamed_25 = (uint3(2u.xxx) + uint3(1u.xxx)); + float4 unnamed_26 = (float4(2.0.xxxx) + float4(1.0.xxxx)); + int unnamed_27 = (2 - 1); + uint unnamed_28 = (2u - 1u); + float unnamed_29 = (2.0 - 1.0); + int2 unnamed_30 = (int2(2.xx) - int2(1.xx)); + uint3 unnamed_31 = (uint3(2u.xxx) - uint3(1u.xxx)); + float4 unnamed_32 = (float4(2.0.xxxx) - float4(1.0.xxxx)); + int unnamed_33 = (2 * 1); + uint unnamed_34 = (2u * 1u); + float unnamed_35 = (2.0 * 1.0); + int2 unnamed_36 = (int2(2.xx) * int2(1.xx)); + uint3 unnamed_37 = (uint3(2u.xxx) * uint3(1u.xxx)); + float4 unnamed_38 = (float4(2.0.xxxx) * float4(1.0.xxxx)); + int unnamed_39 = (2 / 1); + uint unnamed_40 = (2u / 1u); + float unnamed_41 = (2.0 / 1.0); + int2 unnamed_42 = (int2(2.xx) / int2(1.xx)); + uint3 unnamed_43 = (uint3(2u.xxx) / uint3(1u.xxx)); + float4 unnamed_44 = (float4(2.0.xxxx) / float4(1.0.xxxx)); + int unnamed_45 = (2 % 1); + uint unnamed_46 = (2u % 1u); + float unnamed_47 = (2.0 % 1.0); + int2 unnamed_48 = (int2(2.xx) % int2(1.xx)); + uint3 unnamed_49 = (uint3(2u.xxx) % uint3(1u.xxx)); + float4 unnamed_50 = (float4(2.0.xxxx) % float4(1.0.xxxx)); int2 unnamed_51 = (int2(2.xx) + int2(1.xx)); - int2 unnamed_52 = (int2(2.xx) - int2(1.xx)); + int2 unnamed_52 = (int2(2.xx) + int2(1.xx)); int2 unnamed_53 = (int2(2.xx) - int2(1.xx)); - int2 unnamed_54 = (int2(2.xx) * 1); - int2 unnamed_55 = (2 * int2(1.xx)); - int2 unnamed_56 = (int2(2.xx) / int2(1.xx)); + int2 unnamed_54 = (int2(2.xx) - int2(1.xx)); + int2 unnamed_55 = (int2(2.xx) * 1); + int2 unnamed_56 = (2 * int2(1.xx)); int2 unnamed_57 = (int2(2.xx) / int2(1.xx)); - int2 unnamed_58 = (int2(2.xx) % int2(1.xx)); + int2 unnamed_58 = (int2(2.xx) / int2(1.xx)); int2 unnamed_59 = (int2(2.xx) % int2(1.xx)); - float3x3 unnamed_60 = 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_61 = 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_62 = mul(float4(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_63 = 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)), float3(2.0.xxx)); - float3x3 unnamed_64 = 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))); + int2 unnamed_60 = (int2(2.xx) % int2(1.xx)); + float3x3 unnamed_61 = 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_62 = 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_63 = mul(float4(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_64 = 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)), float3(2.0.xxx)); + float3x3 unnamed_65 = 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_65 = ~1; - uint unnamed_66 = ~1u; - int unnamed_67 = (2 | 1); - uint unnamed_68 = (2u | 1u); - int2 unnamed_69 = (int2(2.xx) | int2(1.xx)); - uint3 unnamed_70 = (uint3(2u.xxx) | uint3(1u.xxx)); - int unnamed_71 = (2 & 1); - uint unnamed_72 = (2u & 1u); - int2 unnamed_73 = (int2(2.xx) & int2(1.xx)); - uint3 unnamed_74 = (uint3(2u.xxx) & uint3(1u.xxx)); - int unnamed_75 = (2 ^ 1); - uint unnamed_76 = (2u ^ 1u); - int2 unnamed_77 = (int2(2.xx) ^ int2(1.xx)); - uint3 unnamed_78 = (uint3(2u.xxx) ^ uint3(1u.xxx)); - int unnamed_79 = (2 << 1u); - uint unnamed_80 = (2u << 1u); - int2 unnamed_81 = (int2(2.xx) << uint2(1u.xx)); - uint3 unnamed_82 = (uint3(2u.xxx) << uint3(1u.xxx)); - int unnamed_83 = (2 >> 1u); - uint unnamed_84 = (2u >> 1u); - int2 unnamed_85 = (int2(2.xx) >> uint2(1u.xx)); - uint3 unnamed_86 = (uint3(2u.xxx) >> uint3(1u.xxx)); + int unnamed_66 = ~1; + uint unnamed_67 = ~1u; + int2 unnamed_68 = ~int2(1.xx); + uint3 unnamed_69 = ~uint3(1u.xxx); + int unnamed_70 = (2 | 1); + uint unnamed_71 = (2u | 1u); + int2 unnamed_72 = (int2(2.xx) | int2(1.xx)); + uint3 unnamed_73 = (uint3(2u.xxx) | uint3(1u.xxx)); + int unnamed_74 = (2 & 1); + uint unnamed_75 = (2u & 1u); + int2 unnamed_76 = (int2(2.xx) & int2(1.xx)); + uint3 unnamed_77 = (uint3(2u.xxx) & uint3(1u.xxx)); + int unnamed_78 = (2 ^ 1); + uint unnamed_79 = (2u ^ 1u); + int2 unnamed_80 = (int2(2.xx) ^ int2(1.xx)); + uint3 unnamed_81 = (uint3(2u.xxx) ^ uint3(1u.xxx)); + int unnamed_82 = (2 << 1u); + uint unnamed_83 = (2u << 1u); + int2 unnamed_84 = (int2(2.xx) << uint2(1u.xx)); + uint3 unnamed_85 = (uint3(2u.xxx) << uint3(1u.xxx)); + int unnamed_86 = (2 >> 1u); + uint unnamed_87 = (2u >> 1u); + int2 unnamed_88 = (int2(2.xx) >> uint2(1u.xx)); + uint3 unnamed_89 = (uint3(2u.xxx) >> uint3(1u.xxx)); } void comparison() { - bool unnamed_87 = (2 == 1); - bool unnamed_88 = (2u == 1u); - bool unnamed_89 = (2.0 == 1.0); - bool2 unnamed_90 = (int2(2.xx) == int2(1.xx)); - bool3 unnamed_91 = (uint3(2u.xxx) == uint3(1u.xxx)); - bool4 unnamed_92 = (float4(2.0.xxxx) == float4(1.0.xxxx)); - bool unnamed_93 = (2 != 1); - bool unnamed_94 = (2u != 1u); - bool unnamed_95 = (2.0 != 1.0); - bool2 unnamed_96 = (int2(2.xx) != int2(1.xx)); - bool3 unnamed_97 = (uint3(2u.xxx) != uint3(1u.xxx)); - bool4 unnamed_98 = (float4(2.0.xxxx) != float4(1.0.xxxx)); - bool unnamed_99 = (2 < 1); - bool unnamed_100 = (2u < 1u); - bool unnamed_101 = (2.0 < 1.0); - bool2 unnamed_102 = (int2(2.xx) < int2(1.xx)); - bool3 unnamed_103 = (uint3(2u.xxx) < uint3(1u.xxx)); - bool4 unnamed_104 = (float4(2.0.xxxx) < float4(1.0.xxxx)); - bool unnamed_105 = (2 <= 1); - bool unnamed_106 = (2u <= 1u); - bool unnamed_107 = (2.0 <= 1.0); - bool2 unnamed_108 = (int2(2.xx) <= int2(1.xx)); - bool3 unnamed_109 = (uint3(2u.xxx) <= uint3(1u.xxx)); - bool4 unnamed_110 = (float4(2.0.xxxx) <= float4(1.0.xxxx)); - bool unnamed_111 = (2 > 1); - bool unnamed_112 = (2u > 1u); - bool unnamed_113 = (2.0 > 1.0); - bool2 unnamed_114 = (int2(2.xx) > int2(1.xx)); - bool3 unnamed_115 = (uint3(2u.xxx) > uint3(1u.xxx)); - bool4 unnamed_116 = (float4(2.0.xxxx) > float4(1.0.xxxx)); - bool unnamed_117 = (2 >= 1); - bool unnamed_118 = (2u >= 1u); - bool unnamed_119 = (2.0 >= 1.0); - bool2 unnamed_120 = (int2(2.xx) >= int2(1.xx)); - bool3 unnamed_121 = (uint3(2u.xxx) >= uint3(1u.xxx)); - bool4 unnamed_122 = (float4(2.0.xxxx) >= float4(1.0.xxxx)); + bool unnamed_90 = (2 == 1); + bool unnamed_91 = (2u == 1u); + bool unnamed_92 = (2.0 == 1.0); + bool2 unnamed_93 = (int2(2.xx) == int2(1.xx)); + bool3 unnamed_94 = (uint3(2u.xxx) == uint3(1u.xxx)); + bool4 unnamed_95 = (float4(2.0.xxxx) == float4(1.0.xxxx)); + bool unnamed_96 = (2 != 1); + bool unnamed_97 = (2u != 1u); + bool unnamed_98 = (2.0 != 1.0); + bool2 unnamed_99 = (int2(2.xx) != int2(1.xx)); + bool3 unnamed_100 = (uint3(2u.xxx) != uint3(1u.xxx)); + bool4 unnamed_101 = (float4(2.0.xxxx) != float4(1.0.xxxx)); + bool unnamed_102 = (2 < 1); + bool unnamed_103 = (2u < 1u); + bool unnamed_104 = (2.0 < 1.0); + bool2 unnamed_105 = (int2(2.xx) < int2(1.xx)); + bool3 unnamed_106 = (uint3(2u.xxx) < uint3(1u.xxx)); + bool4 unnamed_107 = (float4(2.0.xxxx) < float4(1.0.xxxx)); + bool unnamed_108 = (2 <= 1); + bool unnamed_109 = (2u <= 1u); + bool unnamed_110 = (2.0 <= 1.0); + bool2 unnamed_111 = (int2(2.xx) <= int2(1.xx)); + bool3 unnamed_112 = (uint3(2u.xxx) <= uint3(1u.xxx)); + bool4 unnamed_113 = (float4(2.0.xxxx) <= float4(1.0.xxxx)); + bool unnamed_114 = (2 > 1); + bool unnamed_115 = (2u > 1u); + bool unnamed_116 = (2.0 > 1.0); + bool2 unnamed_117 = (int2(2.xx) > int2(1.xx)); + bool3 unnamed_118 = (uint3(2u.xxx) > uint3(1u.xxx)); + bool4 unnamed_119 = (float4(2.0.xxxx) > float4(1.0.xxxx)); + bool unnamed_120 = (2 >= 1); + bool unnamed_121 = (2u >= 1u); + bool unnamed_122 = (2.0 >= 1.0); + bool2 unnamed_123 = (int2(2.xx) >= int2(1.xx)); + bool3 unnamed_124 = (uint3(2u.xxx) >= uint3(1u.xxx)); + bool4 unnamed_125 = (float4(2.0.xxxx) >= float4(1.0.xxxx)); } void assignment() diff --git a/tests/out/msl/operators.msl b/tests/out/msl/operators.msl index e71b196d98..87a10ee44d 100644 --- a/tests/out/msl/operators.msl +++ b/tests/out/msl/operators.msl @@ -83,129 +83,132 @@ float constructors( void logical( ) { bool unnamed_11 = !true; - bool unnamed_12 = true || false; - bool unnamed_13 = true && false; - bool unnamed_14 = true | false; - metal::bool3 unnamed_15 = metal::bool3(true) | metal::bool3(false); - bool unnamed_16 = true & false; - metal::bool4 unnamed_17 = metal::bool4(true) & metal::bool4(false); + metal::bool2 unnamed_12 = !metal::bool2(true); + bool unnamed_13 = true || false; + bool unnamed_14 = true && false; + bool unnamed_15 = true | false; + metal::bool3 unnamed_16 = metal::bool3(true) | metal::bool3(false); + bool unnamed_17 = true & false; + metal::bool4 unnamed_18 = metal::bool4(true) & metal::bool4(false); } void arithmetic( ) { - metal::int2 unnamed_18 = -metal::int2(1); - metal::float2 unnamed_19 = -metal::float2(1.0); - int unnamed_20 = 2 + 1; - uint unnamed_21 = 2u + 1u; - float unnamed_22 = 2.0 + 1.0; - metal::int2 unnamed_23 = metal::int2(2) + metal::int2(1); - metal::uint3 unnamed_24 = metal::uint3(2u) + metal::uint3(1u); - metal::float4 unnamed_25 = metal::float4(2.0) + metal::float4(1.0); - int unnamed_26 = 2 - 1; - uint unnamed_27 = 2u - 1u; - float unnamed_28 = 2.0 - 1.0; - metal::int2 unnamed_29 = metal::int2(2) - metal::int2(1); - metal::uint3 unnamed_30 = metal::uint3(2u) - metal::uint3(1u); - metal::float4 unnamed_31 = metal::float4(2.0) - metal::float4(1.0); - int unnamed_32 = 2 * 1; - uint unnamed_33 = 2u * 1u; - float unnamed_34 = 2.0 * 1.0; - metal::int2 unnamed_35 = metal::int2(2) * metal::int2(1); - metal::uint3 unnamed_36 = metal::uint3(2u) * metal::uint3(1u); - metal::float4 unnamed_37 = metal::float4(2.0) * metal::float4(1.0); - int unnamed_38 = 2 / 1; - uint unnamed_39 = 2u / 1u; - float unnamed_40 = 2.0 / 1.0; - metal::int2 unnamed_41 = metal::int2(2) / metal::int2(1); - metal::uint3 unnamed_42 = metal::uint3(2u) / metal::uint3(1u); - metal::float4 unnamed_43 = metal::float4(2.0) / metal::float4(1.0); - int unnamed_44 = 2 % 1; - uint unnamed_45 = 2u % 1u; - float unnamed_46 = metal::fmod(2.0, 1.0); - metal::int2 unnamed_47 = metal::int2(2) % metal::int2(1); - metal::uint3 unnamed_48 = metal::uint3(2u) % metal::uint3(1u); - metal::float4 unnamed_49 = metal::fmod(metal::float4(2.0), metal::float4(1.0)); - metal::int2 unnamed_50 = metal::int2(2) + metal::int2(1); + metal::int2 unnamed_19 = -metal::int2(1); + metal::float2 unnamed_20 = -metal::float2(1.0); + int unnamed_21 = 2 + 1; + uint unnamed_22 = 2u + 1u; + float unnamed_23 = 2.0 + 1.0; + metal::int2 unnamed_24 = metal::int2(2) + metal::int2(1); + metal::uint3 unnamed_25 = metal::uint3(2u) + metal::uint3(1u); + metal::float4 unnamed_26 = metal::float4(2.0) + metal::float4(1.0); + int unnamed_27 = 2 - 1; + uint unnamed_28 = 2u - 1u; + float unnamed_29 = 2.0 - 1.0; + metal::int2 unnamed_30 = metal::int2(2) - metal::int2(1); + metal::uint3 unnamed_31 = metal::uint3(2u) - metal::uint3(1u); + metal::float4 unnamed_32 = metal::float4(2.0) - metal::float4(1.0); + int unnamed_33 = 2 * 1; + uint unnamed_34 = 2u * 1u; + float unnamed_35 = 2.0 * 1.0; + metal::int2 unnamed_36 = metal::int2(2) * metal::int2(1); + metal::uint3 unnamed_37 = metal::uint3(2u) * metal::uint3(1u); + metal::float4 unnamed_38 = metal::float4(2.0) * metal::float4(1.0); + int unnamed_39 = 2 / 1; + uint unnamed_40 = 2u / 1u; + float unnamed_41 = 2.0 / 1.0; + metal::int2 unnamed_42 = metal::int2(2) / metal::int2(1); + metal::uint3 unnamed_43 = metal::uint3(2u) / metal::uint3(1u); + metal::float4 unnamed_44 = metal::float4(2.0) / metal::float4(1.0); + int unnamed_45 = 2 % 1; + uint unnamed_46 = 2u % 1u; + float unnamed_47 = metal::fmod(2.0, 1.0); + metal::int2 unnamed_48 = metal::int2(2) % metal::int2(1); + metal::uint3 unnamed_49 = metal::uint3(2u) % metal::uint3(1u); + 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_52 = metal::int2(2) + metal::int2(1); metal::int2 unnamed_53 = metal::int2(2) - metal::int2(1); - metal::int2 unnamed_54 = metal::int2(2) * 1; - metal::int2 unnamed_55 = 2 * metal::int2(1); - metal::int2 unnamed_56 = 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_58 = metal::int2(2) / metal::int2(1); metal::int2 unnamed_59 = metal::int2(2) % metal::int2(1); - metal::float3x3 unnamed_60 = const_type_14_ * 1.0; - metal::float3x3 unnamed_61 = 2.0 * const_type_14_; - metal::float3 unnamed_62 = const_type_15_ * metal::float4(1.0); - metal::float4 unnamed_63 = metal::float3(2.0) * const_type_15_; - metal::float3x3 unnamed_64 = const_type_15_ * const_type_16_; + metal::int2 unnamed_60 = metal::int2(2) % metal::int2(1); + metal::float3x3 unnamed_61 = const_type_14_ * 1.0; + metal::float3x3 unnamed_62 = 2.0 * const_type_14_; + metal::float3 unnamed_63 = const_type_15_ * metal::float4(1.0); + metal::float4 unnamed_64 = metal::float3(2.0) * const_type_15_; + metal::float3x3 unnamed_65 = const_type_15_ * const_type_16_; } void bit( ) { - int unnamed_65 = ~1; - uint unnamed_66 = ~1u; - int unnamed_67 = 2 | 1; - uint unnamed_68 = 2u | 1u; - metal::int2 unnamed_69 = metal::int2(2) | metal::int2(1); - metal::uint3 unnamed_70 = metal::uint3(2u) | metal::uint3(1u); - int unnamed_71 = 2 & 1; - uint unnamed_72 = 2u & 1u; - metal::int2 unnamed_73 = metal::int2(2) & metal::int2(1); - metal::uint3 unnamed_74 = metal::uint3(2u) & metal::uint3(1u); - int unnamed_75 = 2 ^ 1; - uint unnamed_76 = 2u ^ 1u; - metal::int2 unnamed_77 = metal::int2(2) ^ metal::int2(1); - metal::uint3 unnamed_78 = metal::uint3(2u) ^ metal::uint3(1u); - int unnamed_79 = 2 << 1u; - uint unnamed_80 = 2u << 1u; - metal::int2 unnamed_81 = metal::int2(2) << metal::uint2(1u); - metal::uint3 unnamed_82 = metal::uint3(2u) << metal::uint3(1u); - int unnamed_83 = 2 >> 1u; - uint unnamed_84 = 2u >> 1u; - metal::int2 unnamed_85 = metal::int2(2) >> metal::uint2(1u); - metal::uint3 unnamed_86 = metal::uint3(2u) >> metal::uint3(1u); + int unnamed_66 = ~1; + uint unnamed_67 = ~1u; + metal::int2 unnamed_68 = ~metal::int2(1); + metal::uint3 unnamed_69 = ~metal::uint3(1u); + int unnamed_70 = 2 | 1; + uint unnamed_71 = 2u | 1u; + metal::int2 unnamed_72 = metal::int2(2) | metal::int2(1); + metal::uint3 unnamed_73 = metal::uint3(2u) | metal::uint3(1u); + int unnamed_74 = 2 & 1; + uint unnamed_75 = 2u & 1u; + metal::int2 unnamed_76 = metal::int2(2) & metal::int2(1); + metal::uint3 unnamed_77 = metal::uint3(2u) & metal::uint3(1u); + int unnamed_78 = 2 ^ 1; + uint unnamed_79 = 2u ^ 1u; + metal::int2 unnamed_80 = metal::int2(2) ^ metal::int2(1); + metal::uint3 unnamed_81 = metal::uint3(2u) ^ metal::uint3(1u); + int unnamed_82 = 2 << 1u; + uint unnamed_83 = 2u << 1u; + metal::int2 unnamed_84 = metal::int2(2) << metal::uint2(1u); + metal::uint3 unnamed_85 = metal::uint3(2u) << metal::uint3(1u); + int unnamed_86 = 2 >> 1u; + uint unnamed_87 = 2u >> 1u; + metal::int2 unnamed_88 = metal::int2(2) >> metal::uint2(1u); + metal::uint3 unnamed_89 = metal::uint3(2u) >> metal::uint3(1u); } void comparison( ) { - bool unnamed_87 = 2 == 1; - bool unnamed_88 = 2u == 1u; - bool unnamed_89 = 2.0 == 1.0; - metal::bool2 unnamed_90 = metal::int2(2) == metal::int2(1); - metal::bool3 unnamed_91 = metal::uint3(2u) == metal::uint3(1u); - metal::bool4 unnamed_92 = metal::float4(2.0) == metal::float4(1.0); - bool unnamed_93 = 2 != 1; - bool unnamed_94 = 2u != 1u; - bool unnamed_95 = 2.0 != 1.0; - metal::bool2 unnamed_96 = metal::int2(2) != metal::int2(1); - metal::bool3 unnamed_97 = metal::uint3(2u) != metal::uint3(1u); - metal::bool4 unnamed_98 = metal::float4(2.0) != metal::float4(1.0); - bool unnamed_99 = 2 < 1; - bool unnamed_100 = 2u < 1u; - bool unnamed_101 = 2.0 < 1.0; - metal::bool2 unnamed_102 = metal::int2(2) < metal::int2(1); - metal::bool3 unnamed_103 = metal::uint3(2u) < metal::uint3(1u); - metal::bool4 unnamed_104 = metal::float4(2.0) < metal::float4(1.0); - bool unnamed_105 = 2 <= 1; - bool unnamed_106 = 2u <= 1u; - bool unnamed_107 = 2.0 <= 1.0; - metal::bool2 unnamed_108 = metal::int2(2) <= metal::int2(1); - metal::bool3 unnamed_109 = metal::uint3(2u) <= metal::uint3(1u); - metal::bool4 unnamed_110 = metal::float4(2.0) <= metal::float4(1.0); - bool unnamed_111 = 2 > 1; - bool unnamed_112 = 2u > 1u; - bool unnamed_113 = 2.0 > 1.0; - metal::bool2 unnamed_114 = metal::int2(2) > metal::int2(1); - metal::bool3 unnamed_115 = metal::uint3(2u) > metal::uint3(1u); - metal::bool4 unnamed_116 = metal::float4(2.0) > metal::float4(1.0); - bool unnamed_117 = 2 >= 1; - bool unnamed_118 = 2u >= 1u; - bool unnamed_119 = 2.0 >= 1.0; - metal::bool2 unnamed_120 = metal::int2(2) >= metal::int2(1); - metal::bool3 unnamed_121 = metal::uint3(2u) >= metal::uint3(1u); - metal::bool4 unnamed_122 = metal::float4(2.0) >= metal::float4(1.0); + bool unnamed_90 = 2 == 1; + bool unnamed_91 = 2u == 1u; + bool unnamed_92 = 2.0 == 1.0; + metal::bool2 unnamed_93 = metal::int2(2) == metal::int2(1); + metal::bool3 unnamed_94 = metal::uint3(2u) == metal::uint3(1u); + metal::bool4 unnamed_95 = metal::float4(2.0) == metal::float4(1.0); + bool unnamed_96 = 2 != 1; + bool unnamed_97 = 2u != 1u; + bool unnamed_98 = 2.0 != 1.0; + metal::bool2 unnamed_99 = metal::int2(2) != metal::int2(1); + metal::bool3 unnamed_100 = metal::uint3(2u) != metal::uint3(1u); + metal::bool4 unnamed_101 = metal::float4(2.0) != metal::float4(1.0); + bool unnamed_102 = 2 < 1; + bool unnamed_103 = 2u < 1u; + bool unnamed_104 = 2.0 < 1.0; + metal::bool2 unnamed_105 = metal::int2(2) < metal::int2(1); + metal::bool3 unnamed_106 = metal::uint3(2u) < metal::uint3(1u); + metal::bool4 unnamed_107 = metal::float4(2.0) < metal::float4(1.0); + bool unnamed_108 = 2 <= 1; + bool unnamed_109 = 2u <= 1u; + bool unnamed_110 = 2.0 <= 1.0; + metal::bool2 unnamed_111 = metal::int2(2) <= metal::int2(1); + metal::bool3 unnamed_112 = metal::uint3(2u) <= metal::uint3(1u); + metal::bool4 unnamed_113 = metal::float4(2.0) <= metal::float4(1.0); + bool unnamed_114 = 2 > 1; + bool unnamed_115 = 2u > 1u; + bool unnamed_116 = 2.0 > 1.0; + metal::bool2 unnamed_117 = metal::int2(2) > metal::int2(1); + metal::bool3 unnamed_118 = metal::uint3(2u) > metal::uint3(1u); + metal::bool4 unnamed_119 = metal::float4(2.0) > metal::float4(1.0); + bool unnamed_120 = 2 >= 1; + bool unnamed_121 = 2u >= 1u; + bool unnamed_122 = 2.0 >= 1.0; + metal::bool2 unnamed_123 = metal::int2(2) >= metal::int2(1); + metal::bool3 unnamed_124 = metal::uint3(2u) >= metal::uint3(1u); + metal::bool4 unnamed_125 = 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 1c95c27117..d3d9919ce3 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: 434 +; Bound: 440 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 -OpEntryPoint GLCompute %422 "main" -OpExecutionMode %422 LocalSize 1 1 1 +OpEntryPoint GLCompute %428 "main" +OpExecutionMode %428 LocalSize 1 1 1 OpMemberDecorate %31 0 Offset 0 OpMemberDecorate %31 1 Offset 16 OpDecorate %36 ArrayStride 32 @@ -80,9 +80,9 @@ OpDecorate %37 ArrayStride 4 %147 = OpTypePointer Function %27 %148 = OpTypePointer Function %4 %153 = OpTypeFunction %2 -%169 = OpTypeVector %8 2 -%180 = OpTypeVector %20 3 -%323 = OpTypeVector %10 2 +%156 = OpTypeVector %10 2 +%172 = OpTypeVector %8 2 +%183 = OpTypeVector %20 3 %56 = OpFunction %27 None %57 %55 = OpLabel OpBranch %58 @@ -185,307 +185,313 @@ OpFunctionEnd OpBranch %154 %154 = OpLabel %155 = OpLogicalNot %10 %9 -%156 = OpLogicalOr %10 %9 %12 -%157 = OpLogicalAnd %10 %9 %12 -%158 = OpLogicalOr %10 %9 %12 -%159 = OpCompositeConstruct %101 %9 %9 %9 -%160 = OpCompositeConstruct %101 %12 %12 %12 -%161 = OpLogicalOr %101 %159 %160 -%162 = OpLogicalAnd %10 %9 %12 -%163 = OpCompositeConstruct %29 %9 %9 %9 %9 -%164 = OpCompositeConstruct %29 %12 %12 %12 %12 -%165 = OpLogicalAnd %29 %163 %164 +%157 = OpCompositeConstruct %156 %9 %9 +%158 = OpLogicalNot %156 %157 +%159 = OpLogicalOr %10 %9 %12 +%160 = OpLogicalAnd %10 %9 %12 +%161 = OpLogicalOr %10 %9 %12 +%162 = OpCompositeConstruct %101 %9 %9 %9 +%163 = OpCompositeConstruct %101 %12 %12 %12 +%164 = OpLogicalOr %101 %162 %163 +%165 = OpLogicalAnd %10 %9 %12 +%166 = OpCompositeConstruct %29 %9 %9 %9 %9 +%167 = OpCompositeConstruct %29 %12 %12 %12 %12 +%168 = OpLogicalAnd %29 %166 %167 OpReturn OpFunctionEnd -%167 = OpFunction %2 None %153 -%166 = OpLabel -OpBranch %168 -%168 = OpLabel -%170 = OpCompositeConstruct %169 %7 %7 -%171 = OpSNegate %169 %170 -%172 = OpCompositeConstruct %32 %3 %3 -%173 = OpFNegate %32 %172 -%174 = OpIAdd %8 %18 %7 -%175 = OpIAdd %20 %25 %26 -%176 = OpFAdd %4 %14 %3 -%177 = OpCompositeConstruct %169 %18 %18 -%178 = OpCompositeConstruct %169 %7 %7 -%179 = OpIAdd %169 %177 %178 -%181 = OpCompositeConstruct %180 %25 %25 %25 -%182 = OpCompositeConstruct %180 %26 %26 %26 -%183 = OpIAdd %180 %181 %182 -%184 = OpCompositeConstruct %27 %14 %14 %14 %14 -%185 = OpCompositeConstruct %27 %3 %3 %3 %3 -%186 = OpFAdd %27 %184 %185 -%187 = OpISub %8 %18 %7 -%188 = OpISub %20 %25 %26 -%189 = OpFSub %4 %14 %3 -%190 = OpCompositeConstruct %169 %18 %18 -%191 = OpCompositeConstruct %169 %7 %7 -%192 = OpISub %169 %190 %191 -%193 = OpCompositeConstruct %180 %25 %25 %25 -%194 = OpCompositeConstruct %180 %26 %26 %26 -%195 = OpISub %180 %193 %194 -%196 = OpCompositeConstruct %27 %14 %14 %14 %14 -%197 = OpCompositeConstruct %27 %3 %3 %3 %3 -%198 = OpFSub %27 %196 %197 -%199 = OpIMul %8 %18 %7 -%200 = OpIMul %20 %25 %26 -%201 = OpFMul %4 %14 %3 -%202 = OpCompositeConstruct %169 %18 %18 -%203 = OpCompositeConstruct %169 %7 %7 -%204 = OpIMul %169 %202 %203 -%205 = OpCompositeConstruct %180 %25 %25 %25 -%206 = OpCompositeConstruct %180 %26 %26 %26 -%207 = OpIMul %180 %205 %206 -%208 = OpCompositeConstruct %27 %14 %14 %14 %14 -%209 = OpCompositeConstruct %27 %3 %3 %3 %3 -%210 = OpFMul %27 %208 %209 -%211 = OpSDiv %8 %18 %7 -%212 = OpUDiv %20 %25 %26 -%213 = OpFDiv %4 %14 %3 -%214 = OpCompositeConstruct %169 %18 %18 -%215 = OpCompositeConstruct %169 %7 %7 -%216 = OpSDiv %169 %214 %215 -%217 = OpCompositeConstruct %180 %25 %25 %25 -%218 = OpCompositeConstruct %180 %26 %26 %26 -%219 = OpUDiv %180 %217 %218 -%220 = OpCompositeConstruct %27 %14 %14 %14 %14 -%221 = OpCompositeConstruct %27 %3 %3 %3 %3 -%222 = OpFDiv %27 %220 %221 -%223 = OpSMod %8 %18 %7 -%224 = OpUMod %20 %25 %26 -%225 = OpFRem %4 %14 %3 -%226 = OpCompositeConstruct %169 %18 %18 -%227 = OpCompositeConstruct %169 %7 %7 -%228 = OpSMod %169 %226 %227 -%229 = OpCompositeConstruct %180 %25 %25 %25 -%230 = OpCompositeConstruct %180 %26 %26 %26 -%231 = OpUMod %180 %229 %230 -%232 = OpCompositeConstruct %27 %14 %14 %14 %14 -%233 = OpCompositeConstruct %27 %3 %3 %3 %3 -%234 = OpFRem %27 %232 %233 -%235 = OpCompositeConstruct %169 %18 %18 -%236 = OpCompositeConstruct %169 %7 %7 -%237 = OpIAdd %169 %235 %236 -%238 = OpCompositeConstruct %169 %7 %7 -%239 = OpCompositeConstruct %169 %18 %18 -%240 = OpIAdd %169 %239 %238 -%241 = OpCompositeConstruct %169 %18 %18 -%242 = OpCompositeConstruct %169 %7 %7 -%243 = OpISub %169 %241 %242 -%244 = OpCompositeConstruct %169 %7 %7 -%245 = OpCompositeConstruct %169 %18 %18 -%246 = OpISub %169 %245 %244 -%247 = OpCompositeConstruct %169 %18 %18 -%248 = OpVectorTimesScalar %169 %247 %7 -%249 = OpCompositeConstruct %169 %7 %7 -%250 = OpVectorTimesScalar %169 %249 %18 -%251 = OpCompositeConstruct %169 %18 %18 -%252 = OpCompositeConstruct %169 %7 %7 -%253 = OpSDiv %169 %251 %252 -%254 = OpCompositeConstruct %169 %7 %7 -%255 = OpCompositeConstruct %169 %18 %18 -%256 = OpSDiv %169 %255 %254 -%257 = OpCompositeConstruct %169 %18 %18 -%258 = OpCompositeConstruct %169 %7 %7 -%259 = OpSMod %169 %257 %258 -%260 = OpCompositeConstruct %169 %7 %7 -%261 = OpCompositeConstruct %169 %18 %18 -%262 = OpSMod %169 %261 %260 -%263 = OpMatrixTimesScalar %38 %52 %3 -%264 = OpMatrixTimesScalar %38 %52 %14 -%265 = OpCompositeConstruct %27 %3 %3 %3 %3 -%266 = OpMatrixTimesVector %30 %53 %265 -%267 = OpCompositeConstruct %30 %14 %14 %14 -%268 = OpVectorTimesMatrix %27 %267 %53 -%269 = OpMatrixTimesMatrix %38 %53 %54 +%170 = OpFunction %2 None %153 +%169 = OpLabel +OpBranch %171 +%171 = OpLabel +%173 = OpCompositeConstruct %172 %7 %7 +%174 = OpSNegate %172 %173 +%175 = OpCompositeConstruct %32 %3 %3 +%176 = OpFNegate %32 %175 +%177 = OpIAdd %8 %18 %7 +%178 = OpIAdd %20 %25 %26 +%179 = OpFAdd %4 %14 %3 +%180 = OpCompositeConstruct %172 %18 %18 +%181 = OpCompositeConstruct %172 %7 %7 +%182 = OpIAdd %172 %180 %181 +%184 = OpCompositeConstruct %183 %25 %25 %25 +%185 = OpCompositeConstruct %183 %26 %26 %26 +%186 = OpIAdd %183 %184 %185 +%187 = OpCompositeConstruct %27 %14 %14 %14 %14 +%188 = OpCompositeConstruct %27 %3 %3 %3 %3 +%189 = OpFAdd %27 %187 %188 +%190 = OpISub %8 %18 %7 +%191 = OpISub %20 %25 %26 +%192 = OpFSub %4 %14 %3 +%193 = OpCompositeConstruct %172 %18 %18 +%194 = OpCompositeConstruct %172 %7 %7 +%195 = OpISub %172 %193 %194 +%196 = OpCompositeConstruct %183 %25 %25 %25 +%197 = OpCompositeConstruct %183 %26 %26 %26 +%198 = OpISub %183 %196 %197 +%199 = OpCompositeConstruct %27 %14 %14 %14 %14 +%200 = OpCompositeConstruct %27 %3 %3 %3 %3 +%201 = OpFSub %27 %199 %200 +%202 = OpIMul %8 %18 %7 +%203 = OpIMul %20 %25 %26 +%204 = OpFMul %4 %14 %3 +%205 = OpCompositeConstruct %172 %18 %18 +%206 = OpCompositeConstruct %172 %7 %7 +%207 = OpIMul %172 %205 %206 +%208 = OpCompositeConstruct %183 %25 %25 %25 +%209 = OpCompositeConstruct %183 %26 %26 %26 +%210 = OpIMul %183 %208 %209 +%211 = OpCompositeConstruct %27 %14 %14 %14 %14 +%212 = OpCompositeConstruct %27 %3 %3 %3 %3 +%213 = OpFMul %27 %211 %212 +%214 = OpSDiv %8 %18 %7 +%215 = OpUDiv %20 %25 %26 +%216 = OpFDiv %4 %14 %3 +%217 = OpCompositeConstruct %172 %18 %18 +%218 = OpCompositeConstruct %172 %7 %7 +%219 = OpSDiv %172 %217 %218 +%220 = OpCompositeConstruct %183 %25 %25 %25 +%221 = OpCompositeConstruct %183 %26 %26 %26 +%222 = OpUDiv %183 %220 %221 +%223 = OpCompositeConstruct %27 %14 %14 %14 %14 +%224 = OpCompositeConstruct %27 %3 %3 %3 %3 +%225 = OpFDiv %27 %223 %224 +%226 = OpSMod %8 %18 %7 +%227 = OpUMod %20 %25 %26 +%228 = OpFRem %4 %14 %3 +%229 = OpCompositeConstruct %172 %18 %18 +%230 = OpCompositeConstruct %172 %7 %7 +%231 = OpSMod %172 %229 %230 +%232 = OpCompositeConstruct %183 %25 %25 %25 +%233 = OpCompositeConstruct %183 %26 %26 %26 +%234 = OpUMod %183 %232 %233 +%235 = OpCompositeConstruct %27 %14 %14 %14 %14 +%236 = OpCompositeConstruct %27 %3 %3 %3 %3 +%237 = OpFRem %27 %235 %236 +%238 = OpCompositeConstruct %172 %18 %18 +%239 = OpCompositeConstruct %172 %7 %7 +%240 = OpIAdd %172 %238 %239 +%241 = OpCompositeConstruct %172 %7 %7 +%242 = OpCompositeConstruct %172 %18 %18 +%243 = OpIAdd %172 %242 %241 +%244 = OpCompositeConstruct %172 %18 %18 +%245 = OpCompositeConstruct %172 %7 %7 +%246 = OpISub %172 %244 %245 +%247 = OpCompositeConstruct %172 %7 %7 +%248 = OpCompositeConstruct %172 %18 %18 +%249 = OpISub %172 %248 %247 +%250 = OpCompositeConstruct %172 %18 %18 +%251 = OpVectorTimesScalar %172 %250 %7 +%252 = OpCompositeConstruct %172 %7 %7 +%253 = OpVectorTimesScalar %172 %252 %18 +%254 = OpCompositeConstruct %172 %18 %18 +%255 = OpCompositeConstruct %172 %7 %7 +%256 = OpSDiv %172 %254 %255 +%257 = OpCompositeConstruct %172 %7 %7 +%258 = OpCompositeConstruct %172 %18 %18 +%259 = OpSDiv %172 %258 %257 +%260 = OpCompositeConstruct %172 %18 %18 +%261 = OpCompositeConstruct %172 %7 %7 +%262 = OpSMod %172 %260 %261 +%263 = OpCompositeConstruct %172 %7 %7 +%264 = OpCompositeConstruct %172 %18 %18 +%265 = OpSMod %172 %264 %263 +%266 = OpMatrixTimesScalar %38 %52 %3 +%267 = OpMatrixTimesScalar %38 %52 %14 +%268 = OpCompositeConstruct %27 %3 %3 %3 %3 +%269 = OpMatrixTimesVector %30 %53 %268 +%270 = OpCompositeConstruct %30 %14 %14 %14 +%271 = OpVectorTimesMatrix %27 %270 %53 +%272 = OpMatrixTimesMatrix %38 %53 %54 OpReturn OpFunctionEnd -%271 = OpFunction %2 None %153 -%270 = OpLabel -OpBranch %272 -%272 = OpLabel -%273 = OpNot %8 %7 -%274 = OpNot %20 %26 -%275 = OpBitwiseOr %8 %18 %7 -%276 = OpBitwiseOr %20 %25 %26 -%277 = OpCompositeConstruct %169 %18 %18 -%278 = OpCompositeConstruct %169 %7 %7 -%279 = OpBitwiseOr %169 %277 %278 -%280 = OpCompositeConstruct %180 %25 %25 %25 -%281 = OpCompositeConstruct %180 %26 %26 %26 -%282 = OpBitwiseOr %180 %280 %281 -%283 = OpBitwiseAnd %8 %18 %7 -%284 = OpBitwiseAnd %20 %25 %26 -%285 = OpCompositeConstruct %169 %18 %18 -%286 = OpCompositeConstruct %169 %7 %7 -%287 = OpBitwiseAnd %169 %285 %286 -%288 = OpCompositeConstruct %180 %25 %25 %25 -%289 = OpCompositeConstruct %180 %26 %26 %26 -%290 = OpBitwiseAnd %180 %288 %289 -%291 = OpBitwiseXor %8 %18 %7 -%292 = OpBitwiseXor %20 %25 %26 -%293 = OpCompositeConstruct %169 %18 %18 -%294 = OpCompositeConstruct %169 %7 %7 -%295 = OpBitwiseXor %169 %293 %294 -%296 = OpCompositeConstruct %180 %25 %25 %25 -%297 = OpCompositeConstruct %180 %26 %26 %26 -%298 = OpBitwiseXor %180 %296 %297 -%299 = OpShiftLeftLogical %8 %18 %26 -%300 = OpShiftLeftLogical %20 %25 %26 -%301 = OpCompositeConstruct %169 %18 %18 -%302 = OpCompositeConstruct %35 %26 %26 -%303 = OpShiftLeftLogical %169 %301 %302 -%304 = OpCompositeConstruct %180 %25 %25 %25 -%305 = OpCompositeConstruct %180 %26 %26 %26 -%306 = OpShiftLeftLogical %180 %304 %305 -%307 = OpShiftRightArithmetic %8 %18 %26 -%308 = OpShiftRightLogical %20 %25 %26 -%309 = OpCompositeConstruct %169 %18 %18 -%310 = OpCompositeConstruct %35 %26 %26 -%311 = OpShiftRightArithmetic %169 %309 %310 -%312 = OpCompositeConstruct %180 %25 %25 %25 -%313 = OpCompositeConstruct %180 %26 %26 %26 -%314 = OpShiftRightLogical %180 %312 %313 +%274 = OpFunction %2 None %153 +%273 = OpLabel +OpBranch %275 +%275 = OpLabel +%276 = OpNot %8 %7 +%277 = OpNot %20 %26 +%278 = OpCompositeConstruct %172 %7 %7 +%279 = OpNot %172 %278 +%280 = OpCompositeConstruct %183 %26 %26 %26 +%281 = OpNot %183 %280 +%282 = OpBitwiseOr %8 %18 %7 +%283 = OpBitwiseOr %20 %25 %26 +%284 = OpCompositeConstruct %172 %18 %18 +%285 = OpCompositeConstruct %172 %7 %7 +%286 = OpBitwiseOr %172 %284 %285 +%287 = OpCompositeConstruct %183 %25 %25 %25 +%288 = OpCompositeConstruct %183 %26 %26 %26 +%289 = OpBitwiseOr %183 %287 %288 +%290 = OpBitwiseAnd %8 %18 %7 +%291 = OpBitwiseAnd %20 %25 %26 +%292 = OpCompositeConstruct %172 %18 %18 +%293 = OpCompositeConstruct %172 %7 %7 +%294 = OpBitwiseAnd %172 %292 %293 +%295 = OpCompositeConstruct %183 %25 %25 %25 +%296 = OpCompositeConstruct %183 %26 %26 %26 +%297 = OpBitwiseAnd %183 %295 %296 +%298 = OpBitwiseXor %8 %18 %7 +%299 = OpBitwiseXor %20 %25 %26 +%300 = OpCompositeConstruct %172 %18 %18 +%301 = OpCompositeConstruct %172 %7 %7 +%302 = OpBitwiseXor %172 %300 %301 +%303 = OpCompositeConstruct %183 %25 %25 %25 +%304 = OpCompositeConstruct %183 %26 %26 %26 +%305 = OpBitwiseXor %183 %303 %304 +%306 = OpShiftLeftLogical %8 %18 %26 +%307 = OpShiftLeftLogical %20 %25 %26 +%308 = OpCompositeConstruct %172 %18 %18 +%309 = OpCompositeConstruct %35 %26 %26 +%310 = OpShiftLeftLogical %172 %308 %309 +%311 = OpCompositeConstruct %183 %25 %25 %25 +%312 = OpCompositeConstruct %183 %26 %26 %26 +%313 = OpShiftLeftLogical %183 %311 %312 +%314 = OpShiftRightArithmetic %8 %18 %26 +%315 = OpShiftRightLogical %20 %25 %26 +%316 = OpCompositeConstruct %172 %18 %18 +%317 = OpCompositeConstruct %35 %26 %26 +%318 = OpShiftRightArithmetic %172 %316 %317 +%319 = OpCompositeConstruct %183 %25 %25 %25 +%320 = OpCompositeConstruct %183 %26 %26 %26 +%321 = OpShiftRightLogical %183 %319 %320 OpReturn OpFunctionEnd -%316 = OpFunction %2 None %153 -%315 = OpLabel -OpBranch %317 -%317 = OpLabel -%318 = OpIEqual %10 %18 %7 -%319 = OpIEqual %10 %25 %26 -%320 = OpFOrdEqual %10 %14 %3 -%321 = OpCompositeConstruct %169 %18 %18 -%322 = OpCompositeConstruct %169 %7 %7 -%324 = OpIEqual %323 %321 %322 -%325 = OpCompositeConstruct %180 %25 %25 %25 -%326 = OpCompositeConstruct %180 %26 %26 %26 -%327 = OpIEqual %101 %325 %326 -%328 = OpCompositeConstruct %27 %14 %14 %14 %14 -%329 = OpCompositeConstruct %27 %3 %3 %3 %3 -%330 = OpFOrdEqual %29 %328 %329 -%331 = OpINotEqual %10 %18 %7 -%332 = OpINotEqual %10 %25 %26 -%333 = OpFOrdNotEqual %10 %14 %3 -%334 = OpCompositeConstruct %169 %18 %18 -%335 = OpCompositeConstruct %169 %7 %7 -%336 = OpINotEqual %323 %334 %335 -%337 = OpCompositeConstruct %180 %25 %25 %25 -%338 = OpCompositeConstruct %180 %26 %26 %26 -%339 = OpINotEqual %101 %337 %338 -%340 = OpCompositeConstruct %27 %14 %14 %14 %14 -%341 = OpCompositeConstruct %27 %3 %3 %3 %3 -%342 = OpFOrdNotEqual %29 %340 %341 -%343 = OpSLessThan %10 %18 %7 -%344 = OpULessThan %10 %25 %26 -%345 = OpFOrdLessThan %10 %14 %3 -%346 = OpCompositeConstruct %169 %18 %18 -%347 = OpCompositeConstruct %169 %7 %7 -%348 = OpSLessThan %323 %346 %347 -%349 = OpCompositeConstruct %180 %25 %25 %25 -%350 = OpCompositeConstruct %180 %26 %26 %26 -%351 = OpULessThan %101 %349 %350 -%352 = OpCompositeConstruct %27 %14 %14 %14 %14 -%353 = OpCompositeConstruct %27 %3 %3 %3 %3 -%354 = OpFOrdLessThan %29 %352 %353 -%355 = OpSLessThanEqual %10 %18 %7 -%356 = OpULessThanEqual %10 %25 %26 -%357 = OpFOrdLessThanEqual %10 %14 %3 -%358 = OpCompositeConstruct %169 %18 %18 -%359 = OpCompositeConstruct %169 %7 %7 -%360 = OpSLessThanEqual %323 %358 %359 -%361 = OpCompositeConstruct %180 %25 %25 %25 -%362 = OpCompositeConstruct %180 %26 %26 %26 -%363 = OpULessThanEqual %101 %361 %362 -%364 = OpCompositeConstruct %27 %14 %14 %14 %14 -%365 = OpCompositeConstruct %27 %3 %3 %3 %3 -%366 = OpFOrdLessThanEqual %29 %364 %365 -%367 = OpSGreaterThan %10 %18 %7 -%368 = OpUGreaterThan %10 %25 %26 -%369 = OpFOrdGreaterThan %10 %14 %3 -%370 = OpCompositeConstruct %169 %18 %18 -%371 = OpCompositeConstruct %169 %7 %7 -%372 = OpSGreaterThan %323 %370 %371 -%373 = OpCompositeConstruct %180 %25 %25 %25 -%374 = OpCompositeConstruct %180 %26 %26 %26 -%375 = OpUGreaterThan %101 %373 %374 -%376 = OpCompositeConstruct %27 %14 %14 %14 %14 -%377 = OpCompositeConstruct %27 %3 %3 %3 %3 -%378 = OpFOrdGreaterThan %29 %376 %377 -%379 = OpSGreaterThanEqual %10 %18 %7 -%380 = OpUGreaterThanEqual %10 %25 %26 -%381 = OpFOrdGreaterThanEqual %10 %14 %3 -%382 = OpCompositeConstruct %169 %18 %18 -%383 = OpCompositeConstruct %169 %7 %7 -%384 = OpSGreaterThanEqual %323 %382 %383 -%385 = OpCompositeConstruct %180 %25 %25 %25 -%386 = OpCompositeConstruct %180 %26 %26 %26 -%387 = OpUGreaterThanEqual %101 %385 %386 -%388 = OpCompositeConstruct %27 %14 %14 %14 %14 -%389 = OpCompositeConstruct %27 %3 %3 %3 %3 -%390 = OpFOrdGreaterThanEqual %29 %388 %389 +%323 = OpFunction %2 None %153 +%322 = OpLabel +OpBranch %324 +%324 = OpLabel +%325 = OpIEqual %10 %18 %7 +%326 = OpIEqual %10 %25 %26 +%327 = OpFOrdEqual %10 %14 %3 +%328 = OpCompositeConstruct %172 %18 %18 +%329 = OpCompositeConstruct %172 %7 %7 +%330 = OpIEqual %156 %328 %329 +%331 = OpCompositeConstruct %183 %25 %25 %25 +%332 = OpCompositeConstruct %183 %26 %26 %26 +%333 = OpIEqual %101 %331 %332 +%334 = OpCompositeConstruct %27 %14 %14 %14 %14 +%335 = OpCompositeConstruct %27 %3 %3 %3 %3 +%336 = OpFOrdEqual %29 %334 %335 +%337 = OpINotEqual %10 %18 %7 +%338 = OpINotEqual %10 %25 %26 +%339 = OpFOrdNotEqual %10 %14 %3 +%340 = OpCompositeConstruct %172 %18 %18 +%341 = OpCompositeConstruct %172 %7 %7 +%342 = OpINotEqual %156 %340 %341 +%343 = OpCompositeConstruct %183 %25 %25 %25 +%344 = OpCompositeConstruct %183 %26 %26 %26 +%345 = OpINotEqual %101 %343 %344 +%346 = OpCompositeConstruct %27 %14 %14 %14 %14 +%347 = OpCompositeConstruct %27 %3 %3 %3 %3 +%348 = OpFOrdNotEqual %29 %346 %347 +%349 = OpSLessThan %10 %18 %7 +%350 = OpULessThan %10 %25 %26 +%351 = OpFOrdLessThan %10 %14 %3 +%352 = OpCompositeConstruct %172 %18 %18 +%353 = OpCompositeConstruct %172 %7 %7 +%354 = OpSLessThan %156 %352 %353 +%355 = OpCompositeConstruct %183 %25 %25 %25 +%356 = OpCompositeConstruct %183 %26 %26 %26 +%357 = OpULessThan %101 %355 %356 +%358 = OpCompositeConstruct %27 %14 %14 %14 %14 +%359 = OpCompositeConstruct %27 %3 %3 %3 %3 +%360 = OpFOrdLessThan %29 %358 %359 +%361 = OpSLessThanEqual %10 %18 %7 +%362 = OpULessThanEqual %10 %25 %26 +%363 = OpFOrdLessThanEqual %10 %14 %3 +%364 = OpCompositeConstruct %172 %18 %18 +%365 = OpCompositeConstruct %172 %7 %7 +%366 = OpSLessThanEqual %156 %364 %365 +%367 = OpCompositeConstruct %183 %25 %25 %25 +%368 = OpCompositeConstruct %183 %26 %26 %26 +%369 = OpULessThanEqual %101 %367 %368 +%370 = OpCompositeConstruct %27 %14 %14 %14 %14 +%371 = OpCompositeConstruct %27 %3 %3 %3 %3 +%372 = OpFOrdLessThanEqual %29 %370 %371 +%373 = OpSGreaterThan %10 %18 %7 +%374 = OpUGreaterThan %10 %25 %26 +%375 = OpFOrdGreaterThan %10 %14 %3 +%376 = OpCompositeConstruct %172 %18 %18 +%377 = OpCompositeConstruct %172 %7 %7 +%378 = OpSGreaterThan %156 %376 %377 +%379 = OpCompositeConstruct %183 %25 %25 %25 +%380 = OpCompositeConstruct %183 %26 %26 %26 +%381 = OpUGreaterThan %101 %379 %380 +%382 = OpCompositeConstruct %27 %14 %14 %14 %14 +%383 = OpCompositeConstruct %27 %3 %3 %3 %3 +%384 = OpFOrdGreaterThan %29 %382 %383 +%385 = OpSGreaterThanEqual %10 %18 %7 +%386 = OpUGreaterThanEqual %10 %25 %26 +%387 = OpFOrdGreaterThanEqual %10 %14 %3 +%388 = OpCompositeConstruct %172 %18 %18 +%389 = OpCompositeConstruct %172 %7 %7 +%390 = OpSGreaterThanEqual %156 %388 %389 +%391 = OpCompositeConstruct %183 %25 %25 %25 +%392 = OpCompositeConstruct %183 %26 %26 %26 +%393 = OpUGreaterThanEqual %101 %391 %392 +%394 = OpCompositeConstruct %27 %14 %14 %14 %14 +%395 = OpCompositeConstruct %27 %3 %3 %3 %3 +%396 = OpFOrdGreaterThanEqual %29 %394 %395 OpReturn OpFunctionEnd -%393 = OpFunction %2 None %153 -%392 = OpLabel -%391 = OpVariable %112 Function %7 -OpBranch %394 -%394 = OpLabel -%395 = OpLoad %8 %391 -%396 = OpIAdd %8 %395 %7 -OpStore %391 %396 -%397 = OpLoad %8 %391 -%398 = OpISub %8 %397 %7 -OpStore %391 %398 -%399 = OpLoad %8 %391 -%400 = OpLoad %8 %391 -%401 = OpIMul %8 %399 %400 -OpStore %391 %401 -%402 = OpLoad %8 %391 -%403 = OpLoad %8 %391 -%404 = OpSDiv %8 %402 %403 -OpStore %391 %404 -%405 = OpLoad %8 %391 -%406 = OpSMod %8 %405 %7 -OpStore %391 %406 -%407 = OpLoad %8 %391 -%408 = OpBitwiseAnd %8 %407 %11 -OpStore %391 %408 -%409 = OpLoad %8 %391 -%410 = OpBitwiseOr %8 %409 %11 -OpStore %391 %410 -%411 = OpLoad %8 %391 -%412 = OpBitwiseXor %8 %411 %11 -OpStore %391 %412 -%413 = OpLoad %8 %391 -%414 = OpShiftLeftLogical %8 %413 %25 -OpStore %391 %414 -%415 = OpLoad %8 %391 -%416 = OpShiftRightArithmetic %8 %415 %26 -OpStore %391 %416 -%417 = OpLoad %8 %391 -%418 = OpIAdd %8 %417 %7 -OpStore %391 %418 -%419 = OpLoad %8 %391 -%420 = OpISub %8 %419 %7 -OpStore %391 %420 +%399 = OpFunction %2 None %153 +%398 = OpLabel +%397 = OpVariable %112 Function %7 +OpBranch %400 +%400 = OpLabel +%401 = OpLoad %8 %397 +%402 = OpIAdd %8 %401 %7 +OpStore %397 %402 +%403 = OpLoad %8 %397 +%404 = OpISub %8 %403 %7 +OpStore %397 %404 +%405 = OpLoad %8 %397 +%406 = OpLoad %8 %397 +%407 = OpIMul %8 %405 %406 +OpStore %397 %407 +%408 = OpLoad %8 %397 +%409 = OpLoad %8 %397 +%410 = OpSDiv %8 %408 %409 +OpStore %397 %410 +%411 = OpLoad %8 %397 +%412 = OpSMod %8 %411 %7 +OpStore %397 %412 +%413 = OpLoad %8 %397 +%414 = OpBitwiseAnd %8 %413 %11 +OpStore %397 %414 +%415 = OpLoad %8 %397 +%416 = OpBitwiseOr %8 %415 %11 +OpStore %397 %416 +%417 = OpLoad %8 %397 +%418 = OpBitwiseXor %8 %417 %11 +OpStore %397 %418 +%419 = OpLoad %8 %397 +%420 = OpShiftLeftLogical %8 %419 %25 +OpStore %397 %420 +%421 = OpLoad %8 %397 +%422 = OpShiftRightArithmetic %8 %421 %26 +OpStore %397 %422 +%423 = OpLoad %8 %397 +%424 = OpIAdd %8 %423 %7 +OpStore %397 %424 +%425 = OpLoad %8 %397 +%426 = OpISub %8 %425 %7 +OpStore %397 %426 OpReturn OpFunctionEnd -%422 = OpFunction %2 None %153 -%421 = OpLabel -OpBranch %423 -%423 = OpLabel -%424 = OpFunctionCall %27 %56 -%425 = OpFunctionCall %27 %81 -%426 = OpVectorShuffle %30 %41 %41 0 1 2 -%427 = OpFunctionCall %30 %98 %426 -%428 = OpFunctionCall %4 %129 -%429 = OpFunctionCall %2 %152 -%430 = OpFunctionCall %2 %167 -%431 = OpFunctionCall %2 %271 -%432 = OpFunctionCall %2 %316 -%433 = OpFunctionCall %2 %393 +%428 = OpFunction %2 None %153 +%427 = OpLabel +OpBranch %429 +%429 = OpLabel +%430 = OpFunctionCall %27 %56 +%431 = OpFunctionCall %27 %81 +%432 = OpVectorShuffle %30 %41 %41 0 1 2 +%433 = OpFunctionCall %30 %98 %432 +%434 = OpFunctionCall %4 %129 +%435 = OpFunctionCall %2 %152 +%436 = OpFunctionCall %2 %170 +%437 = OpFunctionCall %2 %274 +%438 = OpFunctionCall %2 %323 +%439 = OpFunctionCall %2 %399 OpReturn OpFunctionEnd \ No newline at end of file diff --git a/tests/out/wgsl/operators.wgsl b/tests/out/wgsl/operators.wgsl index 297b752402..ca9877b667 100644 --- a/tests/out/wgsl/operators.wgsl +++ b/tests/out/wgsl/operators.wgsl @@ -56,126 +56,129 @@ fn constructors() -> f32 { fn logical() { let unnamed_11 = !(true); - let unnamed_12 = (true || false); - let unnamed_13 = (true && false); - let unnamed_14 = (true | false); - let unnamed_15 = (vec3(true) | vec3(false)); - let unnamed_16 = (true & false); - let unnamed_17 = (vec4(true) & vec4(false)); + let unnamed_12 = !(vec2(true)); + let unnamed_13 = (true || false); + let unnamed_14 = (true && false); + let unnamed_15 = (true | false); + let unnamed_16 = (vec3(true) | vec3(false)); + let unnamed_17 = (true & false); + let unnamed_18 = (vec4(true) & vec4(false)); } fn arithmetic() { - let unnamed_18 = -(vec2(1)); - let unnamed_19 = -(vec2(1.0)); - let unnamed_20 = (2 + 1); - let unnamed_21 = (2u + 1u); - let unnamed_22 = (2.0 + 1.0); - let unnamed_23 = (vec2(2) + vec2(1)); - let unnamed_24 = (vec3(2u) + vec3(1u)); - let unnamed_25 = (vec4(2.0) + vec4(1.0)); - let unnamed_26 = (2 - 1); - let unnamed_27 = (2u - 1u); - let unnamed_28 = (2.0 - 1.0); - let unnamed_29 = (vec2(2) - vec2(1)); - let unnamed_30 = (vec3(2u) - vec3(1u)); - let unnamed_31 = (vec4(2.0) - vec4(1.0)); - let unnamed_32 = (2 * 1); - let unnamed_33 = (2u * 1u); - let unnamed_34 = (2.0 * 1.0); - let unnamed_35 = (vec2(2) * vec2(1)); - let unnamed_36 = (vec3(2u) * vec3(1u)); - let unnamed_37 = (vec4(2.0) * vec4(1.0)); - let unnamed_38 = (2 / 1); - let unnamed_39 = (2u / 1u); - let unnamed_40 = (2.0 / 1.0); - let unnamed_41 = (vec2(2) / vec2(1)); - let unnamed_42 = (vec3(2u) / vec3(1u)); - let unnamed_43 = (vec4(2.0) / vec4(1.0)); - let unnamed_44 = (2 % 1); - let unnamed_45 = (2u % 1u); - let unnamed_46 = (2.0 % 1.0); - let unnamed_47 = (vec2(2) % vec2(1)); - let unnamed_48 = (vec3(2u) % vec3(1u)); - let unnamed_49 = (vec4(2.0) % vec4(1.0)); - let unnamed_50 = (vec2(2) + vec2(1)); + let unnamed_19 = -(vec2(1)); + let unnamed_20 = -(vec2(1.0)); + let unnamed_21 = (2 + 1); + let unnamed_22 = (2u + 1u); + let unnamed_23 = (2.0 + 1.0); + let unnamed_24 = (vec2(2) + vec2(1)); + let unnamed_25 = (vec3(2u) + vec3(1u)); + let unnamed_26 = (vec4(2.0) + vec4(1.0)); + let unnamed_27 = (2 - 1); + let unnamed_28 = (2u - 1u); + let unnamed_29 = (2.0 - 1.0); + let unnamed_30 = (vec2(2) - vec2(1)); + let unnamed_31 = (vec3(2u) - vec3(1u)); + let unnamed_32 = (vec4(2.0) - vec4(1.0)); + let unnamed_33 = (2 * 1); + let unnamed_34 = (2u * 1u); + let unnamed_35 = (2.0 * 1.0); + let unnamed_36 = (vec2(2) * vec2(1)); + let unnamed_37 = (vec3(2u) * vec3(1u)); + let unnamed_38 = (vec4(2.0) * vec4(1.0)); + let unnamed_39 = (2 / 1); + let unnamed_40 = (2u / 1u); + let unnamed_41 = (2.0 / 1.0); + let unnamed_42 = (vec2(2) / vec2(1)); + let unnamed_43 = (vec3(2u) / vec3(1u)); + let unnamed_44 = (vec4(2.0) / vec4(1.0)); + let unnamed_45 = (2 % 1); + let unnamed_46 = (2u % 1u); + let unnamed_47 = (2.0 % 1.0); + let unnamed_48 = (vec2(2) % vec2(1)); + let unnamed_49 = (vec3(2u) % vec3(1u)); + 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_52 = (vec2(2) + vec2(1)); let unnamed_53 = (vec2(2) - vec2(1)); - let unnamed_54 = (vec2(2) * 1); - let unnamed_55 = (2 * vec2(1)); - let unnamed_56 = (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_58 = (vec2(2) / vec2(1)); let unnamed_59 = (vec2(2) % vec2(1)); - let unnamed_60 = (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_61 = (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_62 = (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_63 = (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_64 = (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_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)) * 1.0); + let unnamed_62 = (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_63 = (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_64 = (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_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)) * 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_65 = ~(1); - let unnamed_66 = ~(1u); - let unnamed_67 = (2 | 1); - let unnamed_68 = (2u | 1u); - let unnamed_69 = (vec2(2) | vec2(1)); - let unnamed_70 = (vec3(2u) | vec3(1u)); - let unnamed_71 = (2 & 1); - let unnamed_72 = (2u & 1u); - let unnamed_73 = (vec2(2) & vec2(1)); - let unnamed_74 = (vec3(2u) & vec3(1u)); - let unnamed_75 = (2 ^ 1); - let unnamed_76 = (2u ^ 1u); - let unnamed_77 = (vec2(2) ^ vec2(1)); - let unnamed_78 = (vec3(2u) ^ vec3(1u)); - let unnamed_79 = (2 << 1u); - let unnamed_80 = (2u << 1u); - let unnamed_81 = (vec2(2) << vec2(1u)); - let unnamed_82 = (vec3(2u) << vec3(1u)); - let unnamed_83 = (2 >> 1u); - let unnamed_84 = (2u >> 1u); - let unnamed_85 = (vec2(2) >> vec2(1u)); - let unnamed_86 = (vec3(2u) >> vec3(1u)); + let unnamed_66 = ~(1); + let unnamed_67 = ~(1u); + let unnamed_68 = !(vec2(1)); + let unnamed_69 = !(vec3(1u)); + let unnamed_70 = (2 | 1); + let unnamed_71 = (2u | 1u); + let unnamed_72 = (vec2(2) | vec2(1)); + let unnamed_73 = (vec3(2u) | vec3(1u)); + let unnamed_74 = (2 & 1); + let unnamed_75 = (2u & 1u); + let unnamed_76 = (vec2(2) & vec2(1)); + let unnamed_77 = (vec3(2u) & vec3(1u)); + let unnamed_78 = (2 ^ 1); + let unnamed_79 = (2u ^ 1u); + let unnamed_80 = (vec2(2) ^ vec2(1)); + let unnamed_81 = (vec3(2u) ^ vec3(1u)); + let unnamed_82 = (2 << 1u); + let unnamed_83 = (2u << 1u); + let unnamed_84 = (vec2(2) << vec2(1u)); + let unnamed_85 = (vec3(2u) << vec3(1u)); + let unnamed_86 = (2 >> 1u); + let unnamed_87 = (2u >> 1u); + let unnamed_88 = (vec2(2) >> vec2(1u)); + let unnamed_89 = (vec3(2u) >> vec3(1u)); } fn comparison() { - let unnamed_87 = (2 == 1); - let unnamed_88 = (2u == 1u); - let unnamed_89 = (2.0 == 1.0); - let unnamed_90 = (vec2(2) == vec2(1)); - let unnamed_91 = (vec3(2u) == vec3(1u)); - let unnamed_92 = (vec4(2.0) == vec4(1.0)); - let unnamed_93 = (2 != 1); - let unnamed_94 = (2u != 1u); - let unnamed_95 = (2.0 != 1.0); - let unnamed_96 = (vec2(2) != vec2(1)); - let unnamed_97 = (vec3(2u) != vec3(1u)); - let unnamed_98 = (vec4(2.0) != vec4(1.0)); - let unnamed_99 = (2 < 1); - let unnamed_100 = (2u < 1u); - let unnamed_101 = (2.0 < 1.0); - let unnamed_102 = (vec2(2) < vec2(1)); - let unnamed_103 = (vec3(2u) < vec3(1u)); - let unnamed_104 = (vec4(2.0) < vec4(1.0)); - let unnamed_105 = (2 <= 1); - let unnamed_106 = (2u <= 1u); - let unnamed_107 = (2.0 <= 1.0); - let unnamed_108 = (vec2(2) <= vec2(1)); - let unnamed_109 = (vec3(2u) <= vec3(1u)); - let unnamed_110 = (vec4(2.0) <= vec4(1.0)); - let unnamed_111 = (2 > 1); - let unnamed_112 = (2u > 1u); - let unnamed_113 = (2.0 > 1.0); - let unnamed_114 = (vec2(2) > vec2(1)); - let unnamed_115 = (vec3(2u) > vec3(1u)); - let unnamed_116 = (vec4(2.0) > vec4(1.0)); - let unnamed_117 = (2 >= 1); - let unnamed_118 = (2u >= 1u); - let unnamed_119 = (2.0 >= 1.0); - let unnamed_120 = (vec2(2) >= vec2(1)); - let unnamed_121 = (vec3(2u) >= vec3(1u)); - let unnamed_122 = (vec4(2.0) >= vec4(1.0)); + let unnamed_90 = (2 == 1); + let unnamed_91 = (2u == 1u); + let unnamed_92 = (2.0 == 1.0); + let unnamed_93 = (vec2(2) == vec2(1)); + let unnamed_94 = (vec3(2u) == vec3(1u)); + let unnamed_95 = (vec4(2.0) == vec4(1.0)); + let unnamed_96 = (2 != 1); + let unnamed_97 = (2u != 1u); + let unnamed_98 = (2.0 != 1.0); + let unnamed_99 = (vec2(2) != vec2(1)); + let unnamed_100 = (vec3(2u) != vec3(1u)); + let unnamed_101 = (vec4(2.0) != vec4(1.0)); + let unnamed_102 = (2 < 1); + let unnamed_103 = (2u < 1u); + let unnamed_104 = (2.0 < 1.0); + let unnamed_105 = (vec2(2) < vec2(1)); + let unnamed_106 = (vec3(2u) < vec3(1u)); + let unnamed_107 = (vec4(2.0) < vec4(1.0)); + let unnamed_108 = (2 <= 1); + let unnamed_109 = (2u <= 1u); + let unnamed_110 = (2.0 <= 1.0); + let unnamed_111 = (vec2(2) <= vec2(1)); + let unnamed_112 = (vec3(2u) <= vec3(1u)); + let unnamed_113 = (vec4(2.0) <= vec4(1.0)); + let unnamed_114 = (2 > 1); + let unnamed_115 = (2u > 1u); + let unnamed_116 = (2.0 > 1.0); + let unnamed_117 = (vec2(2) > vec2(1)); + let unnamed_118 = (vec3(2u) > vec3(1u)); + let unnamed_119 = (vec4(2.0) > vec4(1.0)); + let unnamed_120 = (2 >= 1); + let unnamed_121 = (2u >= 1u); + let unnamed_122 = (2.0 >= 1.0); + let unnamed_123 = (vec2(2) >= vec2(1)); + let unnamed_124 = (vec3(2u) >= vec3(1u)); + let unnamed_125 = (vec4(2.0) >= vec4(1.0)); } fn assignment() {