diff --git a/test/intrinsics/gen/textureDimensions/0e32ee.wgsl.expected.msl b/test/intrinsics/gen/textureDimensions/0e32ee.wgsl.expected.msl
new file mode 100644
index 0000000..ba2297d
--- /dev/null
+++ b/test/intrinsics/gen/textureDimensions/0e32ee.wgsl.expected.msl
@@ -0,0 +1,38 @@
+SKIP: FAILED
+
+
+
+Validation Failure:
+#include <metal_stdlib>
+
+using namespace metal;
+void textureDimensions_0e32ee() {
+  int3 res = int3(arg_0.get_width(), arg_0.get_height(), arg_0.get_depth());
+}
+
+vertex void vertex_main() {
+  textureDimensions_0e32ee();
+  return;
+}
+
+fragment void fragment_main() {
+  textureDimensions_0e32ee();
+  return;
+}
+
+kernel void compute_main() {
+  textureDimensions_0e32ee();
+  return;
+}
+
+
+tint_xjHPQ6.metal:5:19: error: use of undeclared identifier 'arg_0'
+  int3 res = int3(arg_0.get_width(), arg_0.get_height(), arg_0.get_depth());
+                  ^
+tint_xjHPQ6.metal:5:38: error: use of undeclared identifier 'arg_0'
+  int3 res = int3(arg_0.get_width(), arg_0.get_height(), arg_0.get_depth());
+                                     ^
+tint_xjHPQ6.metal:5:58: error: use of undeclared identifier 'arg_0'
+  int3 res = int3(arg_0.get_width(), arg_0.get_height(), arg_0.get_depth());
+                                                         ^
+3 errors generated.
