[msl] Reject subgroup matrices that are not 8x8

Fixes an IR fuzzer issue.

Fixed: 420267101
Change-Id: Id3db4e3d0f6b295d626efa345c6f02cb330ddbcd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/245255
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/msl/writer/writer.cc b/src/tint/lang/msl/writer/writer.cc
index 3a43115..819da70 100644
--- a/src/tint/lang/msl/writer/writer.cc
+++ b/src/tint/lang/msl/writer/writer.cc
@@ -46,6 +46,9 @@
             if (!m->Type()->IsAnyOf<core::type::F16, core::type::F32>()) {
                 return Failure("non-float subgroup matrices are not supported by the MSL backend");
             }
+            if (m->Columns() != 8 || m->Rows() != 8) {
+                return Failure("the MSL backend only supports 8x8 subgroup matrices");
+            }
         }
     }