diff --git a/176.gcc/BUILD.gn b/176.gcc/BUILD.gn
index b7b62b0..b534521 100644
--- a/176.gcc/BUILD.gn
+++ b/176.gcc/BUILD.gn
@@ -2,6 +2,14 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+inputs = [
+  "data/ref/input/166.i",
+  "data/ref/input/200.i",
+  "data/ref/input/expr.i",
+  "data/ref/input/integrate.i",
+  "data/ref/input/scilab.i",
+]
+
 executable("176.gcc") {
   testonly = true
 
@@ -103,4 +111,20 @@
     "-Wno-unused-variable",
     "-Wno-varargs",
   ]
+
+  if (current_os == "fuchsia") {
+    data = inputs
+  } else {
+    data_deps = [
+      ":copy_inputs",
+    ]
+  }
+}
+
+copy("copy_inputs") {
+  visibility = [ ":*" ]
+  sources = inputs
+  outputs = [
+    "$root_out_dir/data/176.gcc/{{source_file_part}}",
+  ]
 }
diff --git a/benchmarks/main.cc b/benchmarks/main.cc
index caf7928..56bf739 100644
--- a/benchmarks/main.cc
+++ b/benchmarks/main.cc
@@ -58,6 +58,11 @@
   AmmpFixture() : SpecFixture("188.ammp"){};
 };
 
+class GccFixture : public SpecFixture {
+ protected:
+  GccFixture() : SpecFixture("176.gcc"){};
+};
+
 }  // namespace
 
 std::string executableDir;
@@ -179,6 +184,25 @@
   }
 }
 
+// TODO(anmittal): Currently it doesn't work with fuchsia as getrlimit is not
+// implemented. Re-enable this once that is implemented
+#ifndef __Fuchsia__
+BENCHMARK_F(GccFixture, 176_gcc)(benchmark::State& st) {
+  const char* file_prefixes[] = {"166", "200", "expr", "integrate", "scilab"};
+  while (st.KeepRunning()) {
+    for (int i = 0; i < 5; i++) {
+      const char* args[] = {(std::string(file_prefixes[i]) + ".i").c_str(),
+                            "-o",
+                            (std::string(file_prefixes[i]) + ".s").c_str()};
+      if ((RunSpec(args, 3, NULL)) != 0) {
+        (std::string("Error while running benchmark: ") + strerror(errno))
+            .c_str();
+      }
+    }
+  }
+}
+#endif
+
 int main(int argc, char* argv[]) {
   ::benchmark::Initialize(&argc, argv);
   google::InitGoogleLogging(argv[0]);
