diff --git a/src/tint/lang/hlsl/writer/access_test.cc b/src/tint/lang/hlsl/writer/access_test.cc
index 015c5f3..997d30b 100644
--- a/src/tint/lang/hlsl/writer/access_test.cc
+++ b/src/tint/lang/hlsl/writer/access_test.cc
@@ -298,13 +298,7 @@
 )");
 }
 
-// TODO(dsinclair): Fails DXC validation
-// hlsl.hlsl:4:55: warning: use of right-shift operator ('>>') in template argument will require
-// parentheses in C++11 [-Wc++11-compat]
-//   vector<float16_t, 4> a = v.Load4<vector<float16_t, 4>>(0u);
-//                                                       ^
-//                                                      (      )
-TEST_F(HlslWriterTest, DISABLED_AccessStorageVectorF16) {
+TEST_F(HlslWriterTest, AccessStorageVectorF16) {
     auto* var = b.Var<storage, vec4<f16>, core::Access::kRead>("v");
     var->SetBindingPoint(0, 0);
 
@@ -323,7 +317,7 @@
     EXPECT_EQ(output_.hlsl, R"(
 ByteAddressBuffer v : register(t0);
 void foo() {
-  vector<float16_t, 4> a = v.Load4<vector<float16_t, 4>>(0u);
+  vector<float16_t, 4> a = v.Load<vector<float16_t, 4> >(0u);
   float16_t b = v.Load<float16_t>(0u);
   float16_t c = v.Load<float16_t>(2u);
   float16_t d = v.Load<float16_t>(4u);
diff --git a/src/tint/lang/hlsl/writer/printer/printer.cc b/src/tint/lang/hlsl/writer/printer/printer.cc
index f8cdf56..253ef03 100644
--- a/src/tint/lang/hlsl/writer/printer/printer.cc
+++ b/src/tint/lang/hlsl/writer/printer/printer.cc
@@ -654,14 +654,17 @@
             fn = BuiltinFn::kLoad;
             suffix = "<float16_t>";
         } else if (fn == BuiltinFn::kLoad2F16) {
-            fn = BuiltinFn::kLoad2;
-            suffix = "<vector<float16_t, 2>>";
+            fn = BuiltinFn::kLoad;
+            // Note space between '> >' is required for DXC
+            suffix = "<vector<float16_t, 2> >";
         } else if (fn == BuiltinFn::kLoad3F16) {
-            fn = BuiltinFn::kLoad3;
-            suffix = "<vector<float16_t, 3>>";
+            fn = BuiltinFn::kLoad;
+            // Note space between '> >' is required for DXC
+            suffix = "<vector<float16_t, 3> >";
         } else if (fn == BuiltinFn::kLoad4F16) {
-            fn = BuiltinFn::kLoad4;
-            suffix = "<vector<float16_t, 4>>";
+            fn = BuiltinFn::kLoad;
+            // Note space between '> >' is required for DXC
+            suffix = "<vector<float16_t, 4> >";
         }
 
         EmitValue(out, c->Object());
