test: Shuffle matrix constructor tests

Move these under test/expressions, and rework the directory structure so we can test vector arguments and inferred element types.

Bug: tint:1334
Change-Id: I411fd7ce1ecdd50c6ef9b79be8407c09a6d38240
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/72140
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl b/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x2.wgsl
rename to test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
rename to test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.hlsl b/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x2.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.msl b/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x2.wgsl.expected.msl
rename to test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.spvasm b/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat2x2.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.wgsl b/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x2.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat2x3.wgsl b/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x3.wgsl
rename to test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
copy from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
copy to test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat2x3.wgsl.expected.hlsl b/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x3.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat2x3.wgsl.expected.msl b/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x3.wgsl.expected.msl
rename to test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat2x3.wgsl.expected.spvasm b/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat2x3.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat2x3.wgsl.expected.wgsl b/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x3.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat2x4.wgsl b/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x4.wgsl
rename to test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
copy from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
copy to test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat2x4.wgsl.expected.hlsl b/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x4.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat2x4.wgsl.expected.msl b/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x4.wgsl.expected.msl
rename to test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat2x4.wgsl.expected.spvasm b/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat2x4.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat2x4.wgsl.expected.wgsl b/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat2x4.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat3x2.wgsl b/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x2.wgsl
rename to test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
copy from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
copy to test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat3x2.wgsl.expected.hlsl b/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x2.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat3x2.wgsl.expected.msl b/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x2.wgsl.expected.msl
rename to test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat3x2.wgsl.expected.spvasm b/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat3x2.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat3x2.wgsl.expected.wgsl b/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x2.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat3x3.wgsl b/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x3.wgsl
rename to test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
copy from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
copy to test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat3x3.wgsl.expected.hlsl b/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x3.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat3x3.wgsl.expected.msl b/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x3.wgsl.expected.msl
rename to test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat3x3.wgsl.expected.spvasm b/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat3x3.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat3x3.wgsl.expected.wgsl b/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x3.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat3x4.wgsl b/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x4.wgsl
rename to test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
copy from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
copy to test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat3x4.wgsl.expected.hlsl b/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x4.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat3x4.wgsl.expected.msl b/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x4.wgsl.expected.msl
rename to test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat3x4.wgsl.expected.spvasm b/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat3x4.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat3x4.wgsl.expected.wgsl b/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat3x4.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat4x2.wgsl b/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x2.wgsl
rename to test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
copy from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
copy to test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat4x2.wgsl.expected.hlsl b/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x2.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat4x2.wgsl.expected.msl b/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x2.wgsl.expected.msl
rename to test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat4x2.wgsl.expected.spvasm b/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat4x2.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat4x2.wgsl.expected.wgsl b/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x2.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat4x3.wgsl b/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x3.wgsl
rename to test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
copy from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
copy to test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat4x3.wgsl.expected.hlsl b/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x3.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat4x3.wgsl.expected.msl b/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x3.wgsl.expected.msl
rename to test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat4x3.wgsl.expected.spvasm b/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat4x3.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat4x3.wgsl.expected.wgsl b/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x3.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat4x4.wgsl b/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x4.wgsl
rename to test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl
diff --git a/test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.glsl
similarity index 100%
copy from test/matrix/constructor/elements/mat2x2.wgsl.expected.glsl
copy to test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.glsl
diff --git a/test/matrix/constructor/elements/mat4x4.wgsl.expected.hlsl b/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.hlsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x4.wgsl.expected.hlsl
rename to test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.hlsl
diff --git a/test/matrix/constructor/elements/mat4x4.wgsl.expected.msl b/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.msl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x4.wgsl.expected.msl
rename to test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.msl
diff --git a/test/matrix/constructor/elements/mat4x4.wgsl.expected.spvasm b/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.spvasm
similarity index 100%
rename from test/matrix/constructor/elements/mat4x4.wgsl.expected.spvasm
rename to test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.spvasm
diff --git a/test/matrix/constructor/elements/mat4x4.wgsl.expected.wgsl b/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.wgsl
similarity index 100%
rename from test/matrix/constructor/elements/mat4x4.wgsl.expected.wgsl
rename to test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.wgsl
diff --git a/test/matrix/constructor/elements/mat2x3.wgsl.expected.glsl b/test/matrix/constructor/elements/mat2x3.wgsl.expected.glsl
deleted file mode 100644
index e69de29..0000000
--- a/test/matrix/constructor/elements/mat2x3.wgsl.expected.glsl
+++ /dev/null
diff --git a/test/matrix/constructor/elements/mat2x4.wgsl.expected.glsl b/test/matrix/constructor/elements/mat2x4.wgsl.expected.glsl
deleted file mode 100644
index e69de29..0000000
--- a/test/matrix/constructor/elements/mat2x4.wgsl.expected.glsl
+++ /dev/null
diff --git a/test/matrix/constructor/elements/mat3x2.wgsl.expected.glsl b/test/matrix/constructor/elements/mat3x2.wgsl.expected.glsl
deleted file mode 100644
index e69de29..0000000
--- a/test/matrix/constructor/elements/mat3x2.wgsl.expected.glsl
+++ /dev/null
diff --git a/test/matrix/constructor/elements/mat3x3.wgsl.expected.glsl b/test/matrix/constructor/elements/mat3x3.wgsl.expected.glsl
deleted file mode 100644
index e69de29..0000000
--- a/test/matrix/constructor/elements/mat3x3.wgsl.expected.glsl
+++ /dev/null
diff --git a/test/matrix/constructor/elements/mat3x4.wgsl.expected.glsl b/test/matrix/constructor/elements/mat3x4.wgsl.expected.glsl
deleted file mode 100644
index e69de29..0000000
--- a/test/matrix/constructor/elements/mat3x4.wgsl.expected.glsl
+++ /dev/null
diff --git a/test/matrix/constructor/elements/mat4x2.wgsl.expected.glsl b/test/matrix/constructor/elements/mat4x2.wgsl.expected.glsl
deleted file mode 100644
index e69de29..0000000
--- a/test/matrix/constructor/elements/mat4x2.wgsl.expected.glsl
+++ /dev/null
diff --git a/test/matrix/constructor/elements/mat4x3.wgsl.expected.glsl b/test/matrix/constructor/elements/mat4x3.wgsl.expected.glsl
deleted file mode 100644
index e69de29..0000000
--- a/test/matrix/constructor/elements/mat4x3.wgsl.expected.glsl
+++ /dev/null
diff --git a/test/matrix/constructor/elements/mat4x4.wgsl.expected.glsl b/test/matrix/constructor/elements/mat4x4.wgsl.expected.glsl
deleted file mode 100644
index e69de29..0000000
--- a/test/matrix/constructor/elements/mat4x4.wgsl.expected.glsl
+++ /dev/null