Move generated micro-kernels into a subdirectory

PiperOrigin-RevId: 282322486
diff --git a/src/f32-vbinary/vadd-neon-x4.c b/src/f32-vbinary/gen/vadd-neon-x4.c
similarity index 97%
rename from src/f32-vbinary/vadd-neon-x4.c
rename to src/f32-vbinary/gen/vadd-neon-x4.c
index 9e74662..9cde405 100644
--- a/src/f32-vbinary/vadd-neon-x4.c
+++ b/src/f32-vbinary/gen/vadd-neon-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-neon.c.in
+//   Template: src/f32-vbinary/vop-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vadd-neon-x8.c b/src/f32-vbinary/gen/vadd-neon-x8.c
similarity index 97%
rename from src/f32-vbinary/vadd-neon-x8.c
rename to src/f32-vbinary/gen/vadd-neon-x8.c
index fffdcb7..ec8dff6 100644
--- a/src/f32-vbinary/vadd-neon-x8.c
+++ b/src/f32-vbinary/gen/vadd-neon-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-neon.c.in
+//   Template: src/f32-vbinary/vop-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vadd-psimd-x4.c b/src/f32-vbinary/gen/vadd-psimd-x4.c
similarity index 97%
rename from src/f32-vbinary/vadd-psimd-x4.c
rename to src/f32-vbinary/gen/vadd-psimd-x4.c
index 8c98c88..64f902c 100644
--- a/src/f32-vbinary/vadd-psimd-x4.c
+++ b/src/f32-vbinary/gen/vadd-psimd-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-psimd.c.in
+//   Template: src/f32-vbinary/vop-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vadd-psimd-x8.c b/src/f32-vbinary/gen/vadd-psimd-x8.c
similarity index 97%
rename from src/f32-vbinary/vadd-psimd-x8.c
rename to src/f32-vbinary/gen/vadd-psimd-x8.c
index 41d8e90..2b064aa 100644
--- a/src/f32-vbinary/vadd-psimd-x8.c
+++ b/src/f32-vbinary/gen/vadd-psimd-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-psimd.c.in
+//   Template: src/f32-vbinary/vop-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vadd-scalar-x1.c b/src/f32-vbinary/gen/vadd-scalar-x1.c
similarity index 94%
rename from src/f32-vbinary/vadd-scalar-x1.c
rename to src/f32-vbinary/gen/vadd-scalar-x1.c
index 11e9031..6cbfb32 100644
--- a/src/f32-vbinary/vadd-scalar-x1.c
+++ b/src/f32-vbinary/gen/vadd-scalar-x1.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vadd-scalar-x2.c b/src/f32-vbinary/gen/vadd-scalar-x2.c
similarity index 96%
rename from src/f32-vbinary/vadd-scalar-x2.c
rename to src/f32-vbinary/gen/vadd-scalar-x2.c
index 25e21f3..a493be4 100644
--- a/src/f32-vbinary/vadd-scalar-x2.c
+++ b/src/f32-vbinary/gen/vadd-scalar-x2.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vadd-scalar-x4.c b/src/f32-vbinary/gen/vadd-scalar-x4.c
similarity index 97%
rename from src/f32-vbinary/vadd-scalar-x4.c
rename to src/f32-vbinary/gen/vadd-scalar-x4.c
index 761bbbe..6375517 100644
--- a/src/f32-vbinary/vadd-scalar-x4.c
+++ b/src/f32-vbinary/gen/vadd-scalar-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vadd-sse-x4.c b/src/f32-vbinary/gen/vadd-sse-x4.c
similarity index 97%
rename from src/f32-vbinary/vadd-sse-x4.c
rename to src/f32-vbinary/gen/vadd-sse-x4.c
index a73e9e6..a90490d 100644
--- a/src/f32-vbinary/vadd-sse-x4.c
+++ b/src/f32-vbinary/gen/vadd-sse-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-sse.c.in
+//   Template: src/f32-vbinary/vop-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vadd-sse-x8.c b/src/f32-vbinary/gen/vadd-sse-x8.c
similarity index 97%
rename from src/f32-vbinary/vadd-sse-x8.c
rename to src/f32-vbinary/gen/vadd-sse-x8.c
index 0e58308..d399297 100644
--- a/src/f32-vbinary/vadd-sse-x8.c
+++ b/src/f32-vbinary/gen/vadd-sse-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-sse.c.in
+//   Template: src/f32-vbinary/vop-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-neon-x4.c b/src/f32-vbinary/gen/vaddc-neon-x4.c
similarity index 97%
rename from src/f32-vbinary/vaddc-neon-x4.c
rename to src/f32-vbinary/gen/vaddc-neon-x4.c
index 8c911de..f347572 100644
--- a/src/f32-vbinary/vaddc-neon-x4.c
+++ b/src/f32-vbinary/gen/vaddc-neon-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-neon.c.in
+//   Template: src/f32-vbinary/vopc-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-neon-x8.c b/src/f32-vbinary/gen/vaddc-neon-x8.c
similarity index 97%
rename from src/f32-vbinary/vaddc-neon-x8.c
rename to src/f32-vbinary/gen/vaddc-neon-x8.c
index 907a7e5..9cd1363 100644
--- a/src/f32-vbinary/vaddc-neon-x8.c
+++ b/src/f32-vbinary/gen/vaddc-neon-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-neon.c.in
+//   Template: src/f32-vbinary/vopc-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-psimd-x4.c b/src/f32-vbinary/gen/vaddc-psimd-x4.c
similarity index 97%
rename from src/f32-vbinary/vaddc-psimd-x4.c
rename to src/f32-vbinary/gen/vaddc-psimd-x4.c
index ac68b36..c29922e 100644
--- a/src/f32-vbinary/vaddc-psimd-x4.c
+++ b/src/f32-vbinary/gen/vaddc-psimd-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-psimd.c.in
+//   Template: src/f32-vbinary/vopc-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-psimd-x8.c b/src/f32-vbinary/gen/vaddc-psimd-x8.c
similarity index 97%
rename from src/f32-vbinary/vaddc-psimd-x8.c
rename to src/f32-vbinary/gen/vaddc-psimd-x8.c
index afa7ad1..4f3581e 100644
--- a/src/f32-vbinary/vaddc-psimd-x8.c
+++ b/src/f32-vbinary/gen/vaddc-psimd-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-psimd.c.in
+//   Template: src/f32-vbinary/vopc-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-scalar-x1.c b/src/f32-vbinary/gen/vaddc-scalar-x1.c
similarity index 94%
rename from src/f32-vbinary/vaddc-scalar-x1.c
rename to src/f32-vbinary/gen/vaddc-scalar-x1.c
index d591020..a17e7f3 100644
--- a/src/f32-vbinary/vaddc-scalar-x1.c
+++ b/src/f32-vbinary/gen/vaddc-scalar-x1.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-scalar-x2.c b/src/f32-vbinary/gen/vaddc-scalar-x2.c
similarity index 95%
rename from src/f32-vbinary/vaddc-scalar-x2.c
rename to src/f32-vbinary/gen/vaddc-scalar-x2.c
index a41445e..ca6efbb 100644
--- a/src/f32-vbinary/vaddc-scalar-x2.c
+++ b/src/f32-vbinary/gen/vaddc-scalar-x2.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-scalar-x4.c b/src/f32-vbinary/gen/vaddc-scalar-x4.c
similarity index 96%
rename from src/f32-vbinary/vaddc-scalar-x4.c
rename to src/f32-vbinary/gen/vaddc-scalar-x4.c
index 92792d9..68834c9 100644
--- a/src/f32-vbinary/vaddc-scalar-x4.c
+++ b/src/f32-vbinary/gen/vaddc-scalar-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-sse-x4.c b/src/f32-vbinary/gen/vaddc-sse-x4.c
similarity index 97%
rename from src/f32-vbinary/vaddc-sse-x4.c
rename to src/f32-vbinary/gen/vaddc-sse-x4.c
index 4442a01..3899812 100644
--- a/src/f32-vbinary/vaddc-sse-x4.c
+++ b/src/f32-vbinary/gen/vaddc-sse-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-sse.c.in
+//   Template: src/f32-vbinary/vopc-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vaddc-sse-x8.c b/src/f32-vbinary/gen/vaddc-sse-x8.c
similarity index 97%
rename from src/f32-vbinary/vaddc-sse-x8.c
rename to src/f32-vbinary/gen/vaddc-sse-x8.c
index 6580953..86ffed1 100644
--- a/src/f32-vbinary/vaddc-sse-x8.c
+++ b/src/f32-vbinary/gen/vaddc-sse-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-sse.c.in
+//   Template: src/f32-vbinary/vopc-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-neon-x4.c b/src/f32-vbinary/gen/vmul-neon-x4.c
similarity index 97%
rename from src/f32-vbinary/vmul-neon-x4.c
rename to src/f32-vbinary/gen/vmul-neon-x4.c
index 93df938..f7e8b25 100644
--- a/src/f32-vbinary/vmul-neon-x4.c
+++ b/src/f32-vbinary/gen/vmul-neon-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-neon.c.in
+//   Template: src/f32-vbinary/vop-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-neon-x8.c b/src/f32-vbinary/gen/vmul-neon-x8.c
similarity index 97%
rename from src/f32-vbinary/vmul-neon-x8.c
rename to src/f32-vbinary/gen/vmul-neon-x8.c
index 7cdb655..f087f7e 100644
--- a/src/f32-vbinary/vmul-neon-x8.c
+++ b/src/f32-vbinary/gen/vmul-neon-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-neon.c.in
+//   Template: src/f32-vbinary/vop-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-psimd-x4.c b/src/f32-vbinary/gen/vmul-psimd-x4.c
similarity index 97%
rename from src/f32-vbinary/vmul-psimd-x4.c
rename to src/f32-vbinary/gen/vmul-psimd-x4.c
index 7802a34..5b77409 100644
--- a/src/f32-vbinary/vmul-psimd-x4.c
+++ b/src/f32-vbinary/gen/vmul-psimd-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-psimd.c.in
+//   Template: src/f32-vbinary/vop-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-psimd-x8.c b/src/f32-vbinary/gen/vmul-psimd-x8.c
similarity index 97%
rename from src/f32-vbinary/vmul-psimd-x8.c
rename to src/f32-vbinary/gen/vmul-psimd-x8.c
index c51e94e..07e8e1a 100644
--- a/src/f32-vbinary/vmul-psimd-x8.c
+++ b/src/f32-vbinary/gen/vmul-psimd-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-psimd.c.in
+//   Template: src/f32-vbinary/vop-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-scalar-x1.c b/src/f32-vbinary/gen/vmul-scalar-x1.c
similarity index 94%
rename from src/f32-vbinary/vmul-scalar-x1.c
rename to src/f32-vbinary/gen/vmul-scalar-x1.c
index 2f47570..bd22c94 100644
--- a/src/f32-vbinary/vmul-scalar-x1.c
+++ b/src/f32-vbinary/gen/vmul-scalar-x1.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-scalar-x2.c b/src/f32-vbinary/gen/vmul-scalar-x2.c
similarity index 96%
rename from src/f32-vbinary/vmul-scalar-x2.c
rename to src/f32-vbinary/gen/vmul-scalar-x2.c
index 317be4f..7cce165 100644
--- a/src/f32-vbinary/vmul-scalar-x2.c
+++ b/src/f32-vbinary/gen/vmul-scalar-x2.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-scalar-x4.c b/src/f32-vbinary/gen/vmul-scalar-x4.c
similarity index 97%
rename from src/f32-vbinary/vmul-scalar-x4.c
rename to src/f32-vbinary/gen/vmul-scalar-x4.c
index a840d27..7bc69a4 100644
--- a/src/f32-vbinary/vmul-scalar-x4.c
+++ b/src/f32-vbinary/gen/vmul-scalar-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-sse-x4.c b/src/f32-vbinary/gen/vmul-sse-x4.c
similarity index 97%
rename from src/f32-vbinary/vmul-sse-x4.c
rename to src/f32-vbinary/gen/vmul-sse-x4.c
index a100481..11d4dd5 100644
--- a/src/f32-vbinary/vmul-sse-x4.c
+++ b/src/f32-vbinary/gen/vmul-sse-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-sse.c.in
+//   Template: src/f32-vbinary/vop-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmul-sse-x8.c b/src/f32-vbinary/gen/vmul-sse-x8.c
similarity index 97%
rename from src/f32-vbinary/vmul-sse-x8.c
rename to src/f32-vbinary/gen/vmul-sse-x8.c
index b9849f6..bf066fc 100644
--- a/src/f32-vbinary/vmul-sse-x8.c
+++ b/src/f32-vbinary/gen/vmul-sse-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-sse.c.in
+//   Template: src/f32-vbinary/vop-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-neon-x4.c b/src/f32-vbinary/gen/vmulc-neon-x4.c
similarity index 97%
rename from src/f32-vbinary/vmulc-neon-x4.c
rename to src/f32-vbinary/gen/vmulc-neon-x4.c
index 8b4b8d5..a982917 100644
--- a/src/f32-vbinary/vmulc-neon-x4.c
+++ b/src/f32-vbinary/gen/vmulc-neon-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-neon.c.in
+//   Template: src/f32-vbinary/vopc-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-neon-x8.c b/src/f32-vbinary/gen/vmulc-neon-x8.c
similarity index 97%
rename from src/f32-vbinary/vmulc-neon-x8.c
rename to src/f32-vbinary/gen/vmulc-neon-x8.c
index 8b362e5..7f4dcfa 100644
--- a/src/f32-vbinary/vmulc-neon-x8.c
+++ b/src/f32-vbinary/gen/vmulc-neon-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-neon.c.in
+//   Template: src/f32-vbinary/vopc-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-psimd-x4.c b/src/f32-vbinary/gen/vmulc-psimd-x4.c
similarity index 97%
rename from src/f32-vbinary/vmulc-psimd-x4.c
rename to src/f32-vbinary/gen/vmulc-psimd-x4.c
index cbb9ae6..8b9402d 100644
--- a/src/f32-vbinary/vmulc-psimd-x4.c
+++ b/src/f32-vbinary/gen/vmulc-psimd-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-psimd.c.in
+//   Template: src/f32-vbinary/vopc-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-psimd-x8.c b/src/f32-vbinary/gen/vmulc-psimd-x8.c
similarity index 97%
rename from src/f32-vbinary/vmulc-psimd-x8.c
rename to src/f32-vbinary/gen/vmulc-psimd-x8.c
index 4a5fbe4..869179f 100644
--- a/src/f32-vbinary/vmulc-psimd-x8.c
+++ b/src/f32-vbinary/gen/vmulc-psimd-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-psimd.c.in
+//   Template: src/f32-vbinary/vopc-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-scalar-x1.c b/src/f32-vbinary/gen/vmulc-scalar-x1.c
similarity index 94%
rename from src/f32-vbinary/vmulc-scalar-x1.c
rename to src/f32-vbinary/gen/vmulc-scalar-x1.c
index b0a485a..4444799 100644
--- a/src/f32-vbinary/vmulc-scalar-x1.c
+++ b/src/f32-vbinary/gen/vmulc-scalar-x1.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-scalar-x2.c b/src/f32-vbinary/gen/vmulc-scalar-x2.c
similarity index 95%
rename from src/f32-vbinary/vmulc-scalar-x2.c
rename to src/f32-vbinary/gen/vmulc-scalar-x2.c
index 7d58a74..5648ca6 100644
--- a/src/f32-vbinary/vmulc-scalar-x2.c
+++ b/src/f32-vbinary/gen/vmulc-scalar-x2.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-scalar-x4.c b/src/f32-vbinary/gen/vmulc-scalar-x4.c
similarity index 96%
rename from src/f32-vbinary/vmulc-scalar-x4.c
rename to src/f32-vbinary/gen/vmulc-scalar-x4.c
index c8888fc..778317c 100644
--- a/src/f32-vbinary/vmulc-scalar-x4.c
+++ b/src/f32-vbinary/gen/vmulc-scalar-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-sse-x4.c b/src/f32-vbinary/gen/vmulc-sse-x4.c
similarity index 97%
rename from src/f32-vbinary/vmulc-sse-x4.c
rename to src/f32-vbinary/gen/vmulc-sse-x4.c
index 8dafee9..b967977 100644
--- a/src/f32-vbinary/vmulc-sse-x4.c
+++ b/src/f32-vbinary/gen/vmulc-sse-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-sse.c.in
+//   Template: src/f32-vbinary/vopc-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vmulc-sse-x8.c b/src/f32-vbinary/gen/vmulc-sse-x8.c
similarity index 97%
rename from src/f32-vbinary/vmulc-sse-x8.c
rename to src/f32-vbinary/gen/vmulc-sse-x8.c
index 0f7f892..0690f32 100644
--- a/src/f32-vbinary/vmulc-sse-x8.c
+++ b/src/f32-vbinary/gen/vmulc-sse-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-sse.c.in
+//   Template: src/f32-vbinary/vopc-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-neon-x4.c b/src/f32-vbinary/gen/vrsubc-neon-x4.c
similarity index 97%
rename from src/f32-vbinary/vrsubc-neon-x4.c
rename to src/f32-vbinary/gen/vrsubc-neon-x4.c
index b185e54..2524963 100644
--- a/src/f32-vbinary/vrsubc-neon-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-neon-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-neon.c.in
+//   Template: src/f32-vbinary/vopc-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-neon-x8.c b/src/f32-vbinary/gen/vrsubc-neon-x8.c
similarity index 97%
rename from src/f32-vbinary/vrsubc-neon-x8.c
rename to src/f32-vbinary/gen/vrsubc-neon-x8.c
index fcaf1d4..5578ecf 100644
--- a/src/f32-vbinary/vrsubc-neon-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-neon-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-neon.c.in
+//   Template: src/f32-vbinary/vopc-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-psimd-x4.c b/src/f32-vbinary/gen/vrsubc-psimd-x4.c
similarity index 97%
rename from src/f32-vbinary/vrsubc-psimd-x4.c
rename to src/f32-vbinary/gen/vrsubc-psimd-x4.c
index 80cf600..7d3855b 100644
--- a/src/f32-vbinary/vrsubc-psimd-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-psimd-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-psimd.c.in
+//   Template: src/f32-vbinary/vopc-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-psimd-x8.c b/src/f32-vbinary/gen/vrsubc-psimd-x8.c
similarity index 97%
rename from src/f32-vbinary/vrsubc-psimd-x8.c
rename to src/f32-vbinary/gen/vrsubc-psimd-x8.c
index 0518f5f..d53752f 100644
--- a/src/f32-vbinary/vrsubc-psimd-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-psimd-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-psimd.c.in
+//   Template: src/f32-vbinary/vopc-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-scalar-x1.c b/src/f32-vbinary/gen/vrsubc-scalar-x1.c
similarity index 94%
rename from src/f32-vbinary/vrsubc-scalar-x1.c
rename to src/f32-vbinary/gen/vrsubc-scalar-x1.c
index 338a439..a05c549 100644
--- a/src/f32-vbinary/vrsubc-scalar-x1.c
+++ b/src/f32-vbinary/gen/vrsubc-scalar-x1.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-scalar-x2.c b/src/f32-vbinary/gen/vrsubc-scalar-x2.c
similarity index 95%
rename from src/f32-vbinary/vrsubc-scalar-x2.c
rename to src/f32-vbinary/gen/vrsubc-scalar-x2.c
index 2d10e46..90d90ad 100644
--- a/src/f32-vbinary/vrsubc-scalar-x2.c
+++ b/src/f32-vbinary/gen/vrsubc-scalar-x2.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-scalar-x4.c b/src/f32-vbinary/gen/vrsubc-scalar-x4.c
similarity index 96%
rename from src/f32-vbinary/vrsubc-scalar-x4.c
rename to src/f32-vbinary/gen/vrsubc-scalar-x4.c
index 03c5923..f256861 100644
--- a/src/f32-vbinary/vrsubc-scalar-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-scalar-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-sse-x4.c b/src/f32-vbinary/gen/vrsubc-sse-x4.c
similarity index 97%
rename from src/f32-vbinary/vrsubc-sse-x4.c
rename to src/f32-vbinary/gen/vrsubc-sse-x4.c
index 0cf727e..d26e0be 100644
--- a/src/f32-vbinary/vrsubc-sse-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-sse-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-sse.c.in
+//   Template: src/f32-vbinary/vopc-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vrsubc-sse-x8.c b/src/f32-vbinary/gen/vrsubc-sse-x8.c
similarity index 97%
rename from src/f32-vbinary/vrsubc-sse-x8.c
rename to src/f32-vbinary/gen/vrsubc-sse-x8.c
index 48137f4..961b4a4 100644
--- a/src/f32-vbinary/vrsubc-sse-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-sse-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-sse.c.in
+//   Template: src/f32-vbinary/vopc-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-neon-x4.c b/src/f32-vbinary/gen/vsub-neon-x4.c
similarity index 97%
rename from src/f32-vbinary/vsub-neon-x4.c
rename to src/f32-vbinary/gen/vsub-neon-x4.c
index 859aa62..5963361 100644
--- a/src/f32-vbinary/vsub-neon-x4.c
+++ b/src/f32-vbinary/gen/vsub-neon-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-neon.c.in
+//   Template: src/f32-vbinary/vop-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-neon-x8.c b/src/f32-vbinary/gen/vsub-neon-x8.c
similarity index 97%
rename from src/f32-vbinary/vsub-neon-x8.c
rename to src/f32-vbinary/gen/vsub-neon-x8.c
index 0bd9fa2..a730352 100644
--- a/src/f32-vbinary/vsub-neon-x8.c
+++ b/src/f32-vbinary/gen/vsub-neon-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-neon.c.in
+//   Template: src/f32-vbinary/vop-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-psimd-x4.c b/src/f32-vbinary/gen/vsub-psimd-x4.c
similarity index 97%
rename from src/f32-vbinary/vsub-psimd-x4.c
rename to src/f32-vbinary/gen/vsub-psimd-x4.c
index de35ab2..52b6c08 100644
--- a/src/f32-vbinary/vsub-psimd-x4.c
+++ b/src/f32-vbinary/gen/vsub-psimd-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-psimd.c.in
+//   Template: src/f32-vbinary/vop-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-psimd-x8.c b/src/f32-vbinary/gen/vsub-psimd-x8.c
similarity index 97%
rename from src/f32-vbinary/vsub-psimd-x8.c
rename to src/f32-vbinary/gen/vsub-psimd-x8.c
index a0bd614..7fb5039 100644
--- a/src/f32-vbinary/vsub-psimd-x8.c
+++ b/src/f32-vbinary/gen/vsub-psimd-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-psimd.c.in
+//   Template: src/f32-vbinary/vop-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-scalar-x1.c b/src/f32-vbinary/gen/vsub-scalar-x1.c
similarity index 94%
rename from src/f32-vbinary/vsub-scalar-x1.c
rename to src/f32-vbinary/gen/vsub-scalar-x1.c
index 6f88531..21123a9 100644
--- a/src/f32-vbinary/vsub-scalar-x1.c
+++ b/src/f32-vbinary/gen/vsub-scalar-x1.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-scalar-x2.c b/src/f32-vbinary/gen/vsub-scalar-x2.c
similarity index 96%
rename from src/f32-vbinary/vsub-scalar-x2.c
rename to src/f32-vbinary/gen/vsub-scalar-x2.c
index b9948ff..ca85ab9 100644
--- a/src/f32-vbinary/vsub-scalar-x2.c
+++ b/src/f32-vbinary/gen/vsub-scalar-x2.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-scalar-x4.c b/src/f32-vbinary/gen/vsub-scalar-x4.c
similarity index 97%
rename from src/f32-vbinary/vsub-scalar-x4.c
rename to src/f32-vbinary/gen/vsub-scalar-x4.c
index dca0c77..a9707ef 100644
--- a/src/f32-vbinary/vsub-scalar-x4.c
+++ b/src/f32-vbinary/gen/vsub-scalar-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-scalar.c.in
+//   Template: src/f32-vbinary/vop-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-sse-x4.c b/src/f32-vbinary/gen/vsub-sse-x4.c
similarity index 97%
rename from src/f32-vbinary/vsub-sse-x4.c
rename to src/f32-vbinary/gen/vsub-sse-x4.c
index d8c23be..4b2eb68 100644
--- a/src/f32-vbinary/vsub-sse-x4.c
+++ b/src/f32-vbinary/gen/vsub-sse-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-sse.c.in
+//   Template: src/f32-vbinary/vop-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsub-sse-x8.c b/src/f32-vbinary/gen/vsub-sse-x8.c
similarity index 97%
rename from src/f32-vbinary/vsub-sse-x8.c
rename to src/f32-vbinary/gen/vsub-sse-x8.c
index 0c157a3..8e2cb32 100644
--- a/src/f32-vbinary/vsub-sse-x8.c
+++ b/src/f32-vbinary/gen/vsub-sse-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vop-sse.c.in
+//   Template: src/f32-vbinary/vop-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-neon-x4.c b/src/f32-vbinary/gen/vsubc-neon-x4.c
similarity index 97%
rename from src/f32-vbinary/vsubc-neon-x4.c
rename to src/f32-vbinary/gen/vsubc-neon-x4.c
index eab5204..0e17536 100644
--- a/src/f32-vbinary/vsubc-neon-x4.c
+++ b/src/f32-vbinary/gen/vsubc-neon-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-neon.c.in
+//   Template: src/f32-vbinary/vopc-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-neon-x8.c b/src/f32-vbinary/gen/vsubc-neon-x8.c
similarity index 97%
rename from src/f32-vbinary/vsubc-neon-x8.c
rename to src/f32-vbinary/gen/vsubc-neon-x8.c
index 18cd847..45fcd04 100644
--- a/src/f32-vbinary/vsubc-neon-x8.c
+++ b/src/f32-vbinary/gen/vsubc-neon-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-neon.c.in
+//   Template: src/f32-vbinary/vopc-neon.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-psimd-x4.c b/src/f32-vbinary/gen/vsubc-psimd-x4.c
similarity index 97%
rename from src/f32-vbinary/vsubc-psimd-x4.c
rename to src/f32-vbinary/gen/vsubc-psimd-x4.c
index 54b4ece..57f52d2 100644
--- a/src/f32-vbinary/vsubc-psimd-x4.c
+++ b/src/f32-vbinary/gen/vsubc-psimd-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-psimd.c.in
+//   Template: src/f32-vbinary/vopc-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-psimd-x8.c b/src/f32-vbinary/gen/vsubc-psimd-x8.c
similarity index 97%
rename from src/f32-vbinary/vsubc-psimd-x8.c
rename to src/f32-vbinary/gen/vsubc-psimd-x8.c
index f393a93..3680ac7 100644
--- a/src/f32-vbinary/vsubc-psimd-x8.c
+++ b/src/f32-vbinary/gen/vsubc-psimd-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-psimd.c.in
+//   Template: src/f32-vbinary/vopc-psimd.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-scalar-x1.c b/src/f32-vbinary/gen/vsubc-scalar-x1.c
similarity index 94%
rename from src/f32-vbinary/vsubc-scalar-x1.c
rename to src/f32-vbinary/gen/vsubc-scalar-x1.c
index 7a346af..2de0cf2 100644
--- a/src/f32-vbinary/vsubc-scalar-x1.c
+++ b/src/f32-vbinary/gen/vsubc-scalar-x1.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-scalar-x2.c b/src/f32-vbinary/gen/vsubc-scalar-x2.c
similarity index 95%
rename from src/f32-vbinary/vsubc-scalar-x2.c
rename to src/f32-vbinary/gen/vsubc-scalar-x2.c
index 3b40715..ef6138a 100644
--- a/src/f32-vbinary/vsubc-scalar-x2.c
+++ b/src/f32-vbinary/gen/vsubc-scalar-x2.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-scalar-x4.c b/src/f32-vbinary/gen/vsubc-scalar-x4.c
similarity index 96%
rename from src/f32-vbinary/vsubc-scalar-x4.c
rename to src/f32-vbinary/gen/vsubc-scalar-x4.c
index 1095de8..c9a1164 100644
--- a/src/f32-vbinary/vsubc-scalar-x4.c
+++ b/src/f32-vbinary/gen/vsubc-scalar-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-scalar.c.in
+//   Template: src/f32-vbinary/vopc-scalar.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-sse-x4.c b/src/f32-vbinary/gen/vsubc-sse-x4.c
similarity index 97%
rename from src/f32-vbinary/vsubc-sse-x4.c
rename to src/f32-vbinary/gen/vsubc-sse-x4.c
index 279e884..a7f8cd4 100644
--- a/src/f32-vbinary/vsubc-sse-x4.c
+++ b/src/f32-vbinary/gen/vsubc-sse-x4.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-sse.c.in
+//   Template: src/f32-vbinary/vopc-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC
diff --git a/src/f32-vbinary/vsubc-sse-x8.c b/src/f32-vbinary/gen/vsubc-sse-x8.c
similarity index 97%
rename from src/f32-vbinary/vsubc-sse-x8.c
rename to src/f32-vbinary/gen/vsubc-sse-x8.c
index caa16e9..3b65fc8 100644
--- a/src/f32-vbinary/vsubc-sse-x8.c
+++ b/src/f32-vbinary/gen/vsubc-sse-x8.c
@@ -1,5 +1,5 @@
 // Auto-generated file. Do not edit!
-//   Template: src/f32-binop/vopc-sse.c.in
+//   Template: src/f32-vbinary/vopc-sse.c.in
 //   Generator: tools/xngen
 //
 // Copyright 2019 Google LLC