Add more tests for v1.1 ops

Bug: 63911257
Test: mm
Test: NeuralNetworksTests and VTS tests pass
Change-Id: Ia9674e5bed390fd2507c6c70f1a37737f7733ae9
diff --git a/nn/runtime/test/generated/all_generated_V1_1_vts_tests.cpp b/nn/runtime/test/generated/all_generated_V1_1_vts_tests.cpp
index cd1dd4f..612a79b 100644
--- a/nn/runtime/test/generated/all_generated_V1_1_vts_tests.cpp
+++ b/nn/runtime/test/generated/all_generated_V1_1_vts_tests.cpp
@@ -1,6 +1,21 @@
 // DO NOT EDIT;
 // Generated by ml/nn/runtime/test/specs/generate_vts_test.sh
 
+namespace batch_to_space_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space_float_1 test
+#include "examples/batch_to_space_float_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/batch_to_space_float_1.model.cpp"
+} // namespace batch_to_space_float_1
+TEST_F(NeuralnetworksHidlTest, batch_to_space_float_1) {
+    generated_tests::Execute(device,
+                             batch_to_space_float_1::createTestModel,
+                             batch_to_space_float_1::is_ignored,
+                             batch_to_space_float_1::examples);
+}
+
 namespace batch_to_space {
 std::vector<MixedTypedExample> examples = {
 // Generated batch_to_space test
@@ -16,6 +31,21 @@
                              batch_to_space::examples);
 }
 
+namespace batch_to_space_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space_quant8_1 test
+#include "examples/batch_to_space_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/batch_to_space_quant8_1.model.cpp"
+} // namespace batch_to_space_quant8_1
+TEST_F(NeuralnetworksHidlTest, batch_to_space_quant8_1) {
+    generated_tests::Execute(device,
+                             batch_to_space_quant8_1::createTestModel,
+                             batch_to_space_quant8_1::is_ignored,
+                             batch_to_space_quant8_1::examples);
+}
+
 namespace div {
 std::vector<MixedTypedExample> examples = {
 // Generated div test
@@ -31,6 +61,36 @@
                              div::examples);
 }
 
+namespace mean_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_float_1 test
+#include "examples/mean_float_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/mean_float_1.model.cpp"
+} // namespace mean_float_1
+TEST_F(NeuralnetworksHidlTest, mean_float_1) {
+    generated_tests::Execute(device,
+                             mean_float_1::createTestModel,
+                             mean_float_1::is_ignored,
+                             mean_float_1::examples);
+}
+
+namespace mean_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_float_2 test
+#include "examples/mean_float_2.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/mean_float_2.model.cpp"
+} // namespace mean_float_2
+TEST_F(NeuralnetworksHidlTest, mean_float_2) {
+    generated_tests::Execute(device,
+                             mean_float_2::createTestModel,
+                             mean_float_2::is_ignored,
+                             mean_float_2::examples);
+}
+
 namespace mean {
 std::vector<MixedTypedExample> examples = {
 // Generated mean test
@@ -46,6 +106,21 @@
                              mean::examples);
 }
 
+namespace pad_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated pad_float_1 test
+#include "examples/pad_float_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/pad_float_1.model.cpp"
+} // namespace pad_float_1
+TEST_F(NeuralnetworksHidlTest, pad_float_1) {
+    generated_tests::Execute(device,
+                             pad_float_1::createTestModel,
+                             pad_float_1::is_ignored,
+                             pad_float_1::examples);
+}
+
 namespace pad {
 std::vector<MixedTypedExample> examples = {
 // Generated pad test
@@ -61,6 +136,51 @@
                              pad::examples);
 }
 
+namespace space_to_batch_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_1 test
+#include "examples/space_to_batch_float_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/space_to_batch_float_1.model.cpp"
+} // namespace space_to_batch_float_1
+TEST_F(NeuralnetworksHidlTest, space_to_batch_float_1) {
+    generated_tests::Execute(device,
+                             space_to_batch_float_1::createTestModel,
+                             space_to_batch_float_1::is_ignored,
+                             space_to_batch_float_1::examples);
+}
+
+namespace space_to_batch_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_2 test
+#include "examples/space_to_batch_float_2.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/space_to_batch_float_2.model.cpp"
+} // namespace space_to_batch_float_2
+TEST_F(NeuralnetworksHidlTest, space_to_batch_float_2) {
+    generated_tests::Execute(device,
+                             space_to_batch_float_2::createTestModel,
+                             space_to_batch_float_2::is_ignored,
+                             space_to_batch_float_2::examples);
+}
+
+namespace space_to_batch_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_3 test
+#include "examples/space_to_batch_float_3.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/space_to_batch_float_3.model.cpp"
+} // namespace space_to_batch_float_3
+TEST_F(NeuralnetworksHidlTest, space_to_batch_float_3) {
+    generated_tests::Execute(device,
+                             space_to_batch_float_3::createTestModel,
+                             space_to_batch_float_3::is_ignored,
+                             space_to_batch_float_3::examples);
+}
+
 namespace space_to_batch {
 std::vector<MixedTypedExample> examples = {
 // Generated space_to_batch test
@@ -76,6 +196,66 @@
                              space_to_batch::examples);
 }
 
+namespace space_to_batch_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_1 test
+#include "examples/space_to_batch_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/space_to_batch_quant8_1.model.cpp"
+} // namespace space_to_batch_quant8_1
+TEST_F(NeuralnetworksHidlTest, space_to_batch_quant8_1) {
+    generated_tests::Execute(device,
+                             space_to_batch_quant8_1::createTestModel,
+                             space_to_batch_quant8_1::is_ignored,
+                             space_to_batch_quant8_1::examples);
+}
+
+namespace space_to_batch_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_2 test
+#include "examples/space_to_batch_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/space_to_batch_quant8_2.model.cpp"
+} // namespace space_to_batch_quant8_2
+TEST_F(NeuralnetworksHidlTest, space_to_batch_quant8_2) {
+    generated_tests::Execute(device,
+                             space_to_batch_quant8_2::createTestModel,
+                             space_to_batch_quant8_2::is_ignored,
+                             space_to_batch_quant8_2::examples);
+}
+
+namespace space_to_batch_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_3 test
+#include "examples/space_to_batch_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/space_to_batch_quant8_3.model.cpp"
+} // namespace space_to_batch_quant8_3
+TEST_F(NeuralnetworksHidlTest, space_to_batch_quant8_3) {
+    generated_tests::Execute(device,
+                             space_to_batch_quant8_3::createTestModel,
+                             space_to_batch_quant8_3::is_ignored,
+                             space_to_batch_quant8_3::examples);
+}
+
+namespace squeeze_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze_float_1 test
+#include "examples/squeeze_float_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/squeeze_float_1.model.cpp"
+} // namespace squeeze_float_1
+TEST_F(NeuralnetworksHidlTest, squeeze_float_1) {
+    generated_tests::Execute(device,
+                             squeeze_float_1::createTestModel,
+                             squeeze_float_1::is_ignored,
+                             squeeze_float_1::examples);
+}
+
 namespace squeeze {
 std::vector<MixedTypedExample> examples = {
 // Generated squeeze test
@@ -91,6 +271,171 @@
                              squeeze::examples);
 }
 
+namespace squeeze_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze_quant8_1 test
+#include "examples/squeeze_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/squeeze_quant8_1.model.cpp"
+} // namespace squeeze_quant8_1
+TEST_F(NeuralnetworksHidlTest, squeeze_quant8_1) {
+    generated_tests::Execute(device,
+                             squeeze_quant8_1::createTestModel,
+                             squeeze_quant8_1::is_ignored,
+                             squeeze_quant8_1::examples);
+}
+
+namespace strided_slice_float_10 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_10 test
+#include "examples/strided_slice_float_10.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_10.model.cpp"
+} // namespace strided_slice_float_10
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_10) {
+    generated_tests::Execute(device,
+                             strided_slice_float_10::createTestModel,
+                             strided_slice_float_10::is_ignored,
+                             strided_slice_float_10::examples);
+}
+
+namespace strided_slice_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_1 test
+#include "examples/strided_slice_float_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_1.model.cpp"
+} // namespace strided_slice_float_1
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_1) {
+    generated_tests::Execute(device,
+                             strided_slice_float_1::createTestModel,
+                             strided_slice_float_1::is_ignored,
+                             strided_slice_float_1::examples);
+}
+
+namespace strided_slice_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_2 test
+#include "examples/strided_slice_float_2.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_2.model.cpp"
+} // namespace strided_slice_float_2
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_2) {
+    generated_tests::Execute(device,
+                             strided_slice_float_2::createTestModel,
+                             strided_slice_float_2::is_ignored,
+                             strided_slice_float_2::examples);
+}
+
+namespace strided_slice_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_3 test
+#include "examples/strided_slice_float_3.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_3.model.cpp"
+} // namespace strided_slice_float_3
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_3) {
+    generated_tests::Execute(device,
+                             strided_slice_float_3::createTestModel,
+                             strided_slice_float_3::is_ignored,
+                             strided_slice_float_3::examples);
+}
+
+namespace strided_slice_float_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_4 test
+#include "examples/strided_slice_float_4.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_4.model.cpp"
+} // namespace strided_slice_float_4
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_4) {
+    generated_tests::Execute(device,
+                             strided_slice_float_4::createTestModel,
+                             strided_slice_float_4::is_ignored,
+                             strided_slice_float_4::examples);
+}
+
+namespace strided_slice_float_5 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_5 test
+#include "examples/strided_slice_float_5.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_5.model.cpp"
+} // namespace strided_slice_float_5
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_5) {
+    generated_tests::Execute(device,
+                             strided_slice_float_5::createTestModel,
+                             strided_slice_float_5::is_ignored,
+                             strided_slice_float_5::examples);
+}
+
+namespace strided_slice_float_6 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_6 test
+#include "examples/strided_slice_float_6.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_6.model.cpp"
+} // namespace strided_slice_float_6
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_6) {
+    generated_tests::Execute(device,
+                             strided_slice_float_6::createTestModel,
+                             strided_slice_float_6::is_ignored,
+                             strided_slice_float_6::examples);
+}
+
+namespace strided_slice_float_7 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_7 test
+#include "examples/strided_slice_float_7.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_7.model.cpp"
+} // namespace strided_slice_float_7
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_7) {
+    generated_tests::Execute(device,
+                             strided_slice_float_7::createTestModel,
+                             strided_slice_float_7::is_ignored,
+                             strided_slice_float_7::examples);
+}
+
+namespace strided_slice_float_8 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_8 test
+#include "examples/strided_slice_float_8.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_8.model.cpp"
+} // namespace strided_slice_float_8
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_8) {
+    generated_tests::Execute(device,
+                             strided_slice_float_8::createTestModel,
+                             strided_slice_float_8::is_ignored,
+                             strided_slice_float_8::examples);
+}
+
+namespace strided_slice_float_9 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_9 test
+#include "examples/strided_slice_float_9.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_float_9.model.cpp"
+} // namespace strided_slice_float_9
+TEST_F(NeuralnetworksHidlTest, strided_slice_float_9) {
+    generated_tests::Execute(device,
+                             strided_slice_float_9::createTestModel,
+                             strided_slice_float_9::is_ignored,
+                             strided_slice_float_9::examples);
+}
+
 namespace strided_slice {
 std::vector<MixedTypedExample> examples = {
 // Generated strided_slice test
@@ -106,6 +451,156 @@
                              strided_slice::examples);
 }
 
+namespace strided_slice_qaunt8_10 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_qaunt8_10 test
+#include "examples/strided_slice_qaunt8_10.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_qaunt8_10.model.cpp"
+} // namespace strided_slice_qaunt8_10
+TEST_F(NeuralnetworksHidlTest, strided_slice_qaunt8_10) {
+    generated_tests::Execute(device,
+                             strided_slice_qaunt8_10::createTestModel,
+                             strided_slice_qaunt8_10::is_ignored,
+                             strided_slice_qaunt8_10::examples);
+}
+
+namespace strided_slice_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_1 test
+#include "examples/strided_slice_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_1.model.cpp"
+} // namespace strided_slice_quant8_1
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_1) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_1::createTestModel,
+                             strided_slice_quant8_1::is_ignored,
+                             strided_slice_quant8_1::examples);
+}
+
+namespace strided_slice_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_2 test
+#include "examples/strided_slice_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_2.model.cpp"
+} // namespace strided_slice_quant8_2
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_2) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_2::createTestModel,
+                             strided_slice_quant8_2::is_ignored,
+                             strided_slice_quant8_2::examples);
+}
+
+namespace strided_slice_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_3 test
+#include "examples/strided_slice_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_3.model.cpp"
+} // namespace strided_slice_quant8_3
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_3) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_3::createTestModel,
+                             strided_slice_quant8_3::is_ignored,
+                             strided_slice_quant8_3::examples);
+}
+
+namespace strided_slice_quant8_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_4 test
+#include "examples/strided_slice_quant8_4.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_4.model.cpp"
+} // namespace strided_slice_quant8_4
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_4) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_4::createTestModel,
+                             strided_slice_quant8_4::is_ignored,
+                             strided_slice_quant8_4::examples);
+}
+
+namespace strided_slice_quant8_5 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_5 test
+#include "examples/strided_slice_quant8_5.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_5.model.cpp"
+} // namespace strided_slice_quant8_5
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_5) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_5::createTestModel,
+                             strided_slice_quant8_5::is_ignored,
+                             strided_slice_quant8_5::examples);
+}
+
+namespace strided_slice_quant8_6 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_6 test
+#include "examples/strided_slice_quant8_6.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_6.model.cpp"
+} // namespace strided_slice_quant8_6
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_6) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_6::createTestModel,
+                             strided_slice_quant8_6::is_ignored,
+                             strided_slice_quant8_6::examples);
+}
+
+namespace strided_slice_quant8_7 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_7 test
+#include "examples/strided_slice_quant8_7.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_7.model.cpp"
+} // namespace strided_slice_quant8_7
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_7) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_7::createTestModel,
+                             strided_slice_quant8_7::is_ignored,
+                             strided_slice_quant8_7::examples);
+}
+
+namespace strided_slice_quant8_8 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_8 test
+#include "examples/strided_slice_quant8_8.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_8.model.cpp"
+} // namespace strided_slice_quant8_8
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_8) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_8::createTestModel,
+                             strided_slice_quant8_8::is_ignored,
+                             strided_slice_quant8_8::examples);
+}
+
+namespace strided_slice_quant8_9 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_9 test
+#include "examples/strided_slice_quant8_9.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/strided_slice_quant8_9.model.cpp"
+} // namespace strided_slice_quant8_9
+TEST_F(NeuralnetworksHidlTest, strided_slice_quant8_9) {
+    generated_tests::Execute(device,
+                             strided_slice_quant8_9::createTestModel,
+                             strided_slice_quant8_9::is_ignored,
+                             strided_slice_quant8_9::examples);
+}
+
 namespace sub {
 std::vector<MixedTypedExample> examples = {
 // Generated sub test
@@ -121,6 +616,21 @@
                              sub::examples);
 }
 
+namespace transpose_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose_float_1 test
+#include "examples/transpose_float_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/transpose_float_1.model.cpp"
+} // namespace transpose_float_1
+TEST_F(NeuralnetworksHidlTest, transpose_float_1) {
+    generated_tests::Execute(device,
+                             transpose_float_1::createTestModel,
+                             transpose_float_1::is_ignored,
+                             transpose_float_1::examples);
+}
+
 namespace transpose {
 std::vector<MixedTypedExample> examples = {
 // Generated transpose test
@@ -135,3 +645,18 @@
                              transpose::is_ignored,
                              transpose::examples);
 }
+
+namespace transpose_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose_quant8_1 test
+#include "examples/transpose_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "vts_models/transpose_quant8_1.model.cpp"
+} // namespace transpose_quant8_1
+TEST_F(NeuralnetworksHidlTest, transpose_quant8_1) {
+    generated_tests::Execute(device,
+                             transpose_quant8_1::createTestModel,
+                             transpose_quant8_1::is_ignored,
+                             transpose_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/all_generated_tests.cpp b/nn/runtime/test/generated/all_generated_tests.cpp
index 59006e7..5b07cb4 100644
--- a/nn/runtime/test/generated/all_generated_tests.cpp
+++ b/nn/runtime/test/generated/all_generated_tests.cpp
@@ -1863,6 +1863,20 @@
             tanh::examples);
 }
 
+namespace batch_to_space_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space_float_1 test
+#include "generated/examples/batch_to_space_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/batch_to_space_float_1.model.cpp"
+} // namespace batch_to_space_float_1
+TEST_F(GeneratedTests, batch_to_space_float_1) {
+    execute(batch_to_space_float_1::CreateModel,
+            batch_to_space_float_1::is_ignored,
+            batch_to_space_float_1::examples);
+}
+
 namespace batch_to_space {
 std::vector<MixedTypedExample> examples = {
 // Generated batch_to_space test
@@ -1877,6 +1891,20 @@
             batch_to_space::examples);
 }
 
+namespace batch_to_space_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated batch_to_space_quant8_1 test
+#include "generated/examples/batch_to_space_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/batch_to_space_quant8_1.model.cpp"
+} // namespace batch_to_space_quant8_1
+TEST_F(GeneratedTests, batch_to_space_quant8_1) {
+    execute(batch_to_space_quant8_1::CreateModel,
+            batch_to_space_quant8_1::is_ignored,
+            batch_to_space_quant8_1::examples);
+}
+
 namespace div {
 std::vector<MixedTypedExample> examples = {
 // Generated div test
@@ -1891,6 +1919,34 @@
             div::examples);
 }
 
+namespace mean_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_float_1 test
+#include "generated/examples/mean_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_float_1.model.cpp"
+} // namespace mean_float_1
+TEST_F(GeneratedTests, mean_float_1) {
+    execute(mean_float_1::CreateModel,
+            mean_float_1::is_ignored,
+            mean_float_1::examples);
+}
+
+namespace mean_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated mean_float_2 test
+#include "generated/examples/mean_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/mean_float_2.model.cpp"
+} // namespace mean_float_2
+TEST_F(GeneratedTests, mean_float_2) {
+    execute(mean_float_2::CreateModel,
+            mean_float_2::is_ignored,
+            mean_float_2::examples);
+}
+
 namespace mean {
 std::vector<MixedTypedExample> examples = {
 // Generated mean test
@@ -1905,6 +1961,20 @@
             mean::examples);
 }
 
+namespace pad_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated pad_float_1 test
+#include "generated/examples/pad_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/pad_float_1.model.cpp"
+} // namespace pad_float_1
+TEST_F(GeneratedTests, pad_float_1) {
+    execute(pad_float_1::CreateModel,
+            pad_float_1::is_ignored,
+            pad_float_1::examples);
+}
+
 namespace pad {
 std::vector<MixedTypedExample> examples = {
 // Generated pad test
@@ -1919,6 +1989,48 @@
             pad::examples);
 }
 
+namespace space_to_batch_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_1 test
+#include "generated/examples/space_to_batch_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_1.model.cpp"
+} // namespace space_to_batch_float_1
+TEST_F(GeneratedTests, space_to_batch_float_1) {
+    execute(space_to_batch_float_1::CreateModel,
+            space_to_batch_float_1::is_ignored,
+            space_to_batch_float_1::examples);
+}
+
+namespace space_to_batch_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_2 test
+#include "generated/examples/space_to_batch_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_2.model.cpp"
+} // namespace space_to_batch_float_2
+TEST_F(GeneratedTests, space_to_batch_float_2) {
+    execute(space_to_batch_float_2::CreateModel,
+            space_to_batch_float_2::is_ignored,
+            space_to_batch_float_2::examples);
+}
+
+namespace space_to_batch_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_float_3 test
+#include "generated/examples/space_to_batch_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_float_3.model.cpp"
+} // namespace space_to_batch_float_3
+TEST_F(GeneratedTests, space_to_batch_float_3) {
+    execute(space_to_batch_float_3::CreateModel,
+            space_to_batch_float_3::is_ignored,
+            space_to_batch_float_3::examples);
+}
+
 namespace space_to_batch {
 std::vector<MixedTypedExample> examples = {
 // Generated space_to_batch test
@@ -1933,6 +2045,62 @@
             space_to_batch::examples);
 }
 
+namespace space_to_batch_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_1 test
+#include "generated/examples/space_to_batch_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_quant8_1.model.cpp"
+} // namespace space_to_batch_quant8_1
+TEST_F(GeneratedTests, space_to_batch_quant8_1) {
+    execute(space_to_batch_quant8_1::CreateModel,
+            space_to_batch_quant8_1::is_ignored,
+            space_to_batch_quant8_1::examples);
+}
+
+namespace space_to_batch_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_2 test
+#include "generated/examples/space_to_batch_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_quant8_2.model.cpp"
+} // namespace space_to_batch_quant8_2
+TEST_F(GeneratedTests, space_to_batch_quant8_2) {
+    execute(space_to_batch_quant8_2::CreateModel,
+            space_to_batch_quant8_2::is_ignored,
+            space_to_batch_quant8_2::examples);
+}
+
+namespace space_to_batch_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated space_to_batch_quant8_3 test
+#include "generated/examples/space_to_batch_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/space_to_batch_quant8_3.model.cpp"
+} // namespace space_to_batch_quant8_3
+TEST_F(GeneratedTests, space_to_batch_quant8_3) {
+    execute(space_to_batch_quant8_3::CreateModel,
+            space_to_batch_quant8_3::is_ignored,
+            space_to_batch_quant8_3::examples);
+}
+
+namespace squeeze_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze_float_1 test
+#include "generated/examples/squeeze_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/squeeze_float_1.model.cpp"
+} // namespace squeeze_float_1
+TEST_F(GeneratedTests, squeeze_float_1) {
+    execute(squeeze_float_1::CreateModel,
+            squeeze_float_1::is_ignored,
+            squeeze_float_1::examples);
+}
+
 namespace squeeze {
 std::vector<MixedTypedExample> examples = {
 // Generated squeeze test
@@ -1947,6 +2115,160 @@
             squeeze::examples);
 }
 
+namespace squeeze_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated squeeze_quant8_1 test
+#include "generated/examples/squeeze_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/squeeze_quant8_1.model.cpp"
+} // namespace squeeze_quant8_1
+TEST_F(GeneratedTests, squeeze_quant8_1) {
+    execute(squeeze_quant8_1::CreateModel,
+            squeeze_quant8_1::is_ignored,
+            squeeze_quant8_1::examples);
+}
+
+namespace strided_slice_float_10 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_10 test
+#include "generated/examples/strided_slice_float_10.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_10.model.cpp"
+} // namespace strided_slice_float_10
+TEST_F(GeneratedTests, strided_slice_float_10) {
+    execute(strided_slice_float_10::CreateModel,
+            strided_slice_float_10::is_ignored,
+            strided_slice_float_10::examples);
+}
+
+namespace strided_slice_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_1 test
+#include "generated/examples/strided_slice_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_1.model.cpp"
+} // namespace strided_slice_float_1
+TEST_F(GeneratedTests, strided_slice_float_1) {
+    execute(strided_slice_float_1::CreateModel,
+            strided_slice_float_1::is_ignored,
+            strided_slice_float_1::examples);
+}
+
+namespace strided_slice_float_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_2 test
+#include "generated/examples/strided_slice_float_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_2.model.cpp"
+} // namespace strided_slice_float_2
+TEST_F(GeneratedTests, strided_slice_float_2) {
+    execute(strided_slice_float_2::CreateModel,
+            strided_slice_float_2::is_ignored,
+            strided_slice_float_2::examples);
+}
+
+namespace strided_slice_float_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_3 test
+#include "generated/examples/strided_slice_float_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_3.model.cpp"
+} // namespace strided_slice_float_3
+TEST_F(GeneratedTests, strided_slice_float_3) {
+    execute(strided_slice_float_3::CreateModel,
+            strided_slice_float_3::is_ignored,
+            strided_slice_float_3::examples);
+}
+
+namespace strided_slice_float_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_4 test
+#include "generated/examples/strided_slice_float_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_4.model.cpp"
+} // namespace strided_slice_float_4
+TEST_F(GeneratedTests, strided_slice_float_4) {
+    execute(strided_slice_float_4::CreateModel,
+            strided_slice_float_4::is_ignored,
+            strided_slice_float_4::examples);
+}
+
+namespace strided_slice_float_5 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_5 test
+#include "generated/examples/strided_slice_float_5.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_5.model.cpp"
+} // namespace strided_slice_float_5
+TEST_F(GeneratedTests, strided_slice_float_5) {
+    execute(strided_slice_float_5::CreateModel,
+            strided_slice_float_5::is_ignored,
+            strided_slice_float_5::examples);
+}
+
+namespace strided_slice_float_6 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_6 test
+#include "generated/examples/strided_slice_float_6.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_6.model.cpp"
+} // namespace strided_slice_float_6
+TEST_F(GeneratedTests, strided_slice_float_6) {
+    execute(strided_slice_float_6::CreateModel,
+            strided_slice_float_6::is_ignored,
+            strided_slice_float_6::examples);
+}
+
+namespace strided_slice_float_7 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_7 test
+#include "generated/examples/strided_slice_float_7.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_7.model.cpp"
+} // namespace strided_slice_float_7
+TEST_F(GeneratedTests, strided_slice_float_7) {
+    execute(strided_slice_float_7::CreateModel,
+            strided_slice_float_7::is_ignored,
+            strided_slice_float_7::examples);
+}
+
+namespace strided_slice_float_8 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_8 test
+#include "generated/examples/strided_slice_float_8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_8.model.cpp"
+} // namespace strided_slice_float_8
+TEST_F(GeneratedTests, strided_slice_float_8) {
+    execute(strided_slice_float_8::CreateModel,
+            strided_slice_float_8::is_ignored,
+            strided_slice_float_8::examples);
+}
+
+namespace strided_slice_float_9 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_float_9 test
+#include "generated/examples/strided_slice_float_9.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_float_9.model.cpp"
+} // namespace strided_slice_float_9
+TEST_F(GeneratedTests, strided_slice_float_9) {
+    execute(strided_slice_float_9::CreateModel,
+            strided_slice_float_9::is_ignored,
+            strided_slice_float_9::examples);
+}
+
 namespace strided_slice {
 std::vector<MixedTypedExample> examples = {
 // Generated strided_slice test
@@ -1961,6 +2283,146 @@
             strided_slice::examples);
 }
 
+namespace strided_slice_qaunt8_10 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_qaunt8_10 test
+#include "generated/examples/strided_slice_qaunt8_10.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_qaunt8_10.model.cpp"
+} // namespace strided_slice_qaunt8_10
+TEST_F(GeneratedTests, strided_slice_qaunt8_10) {
+    execute(strided_slice_qaunt8_10::CreateModel,
+            strided_slice_qaunt8_10::is_ignored,
+            strided_slice_qaunt8_10::examples);
+}
+
+namespace strided_slice_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_1 test
+#include "generated/examples/strided_slice_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_1.model.cpp"
+} // namespace strided_slice_quant8_1
+TEST_F(GeneratedTests, strided_slice_quant8_1) {
+    execute(strided_slice_quant8_1::CreateModel,
+            strided_slice_quant8_1::is_ignored,
+            strided_slice_quant8_1::examples);
+}
+
+namespace strided_slice_quant8_2 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_2 test
+#include "generated/examples/strided_slice_quant8_2.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_2.model.cpp"
+} // namespace strided_slice_quant8_2
+TEST_F(GeneratedTests, strided_slice_quant8_2) {
+    execute(strided_slice_quant8_2::CreateModel,
+            strided_slice_quant8_2::is_ignored,
+            strided_slice_quant8_2::examples);
+}
+
+namespace strided_slice_quant8_3 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_3 test
+#include "generated/examples/strided_slice_quant8_3.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_3.model.cpp"
+} // namespace strided_slice_quant8_3
+TEST_F(GeneratedTests, strided_slice_quant8_3) {
+    execute(strided_slice_quant8_3::CreateModel,
+            strided_slice_quant8_3::is_ignored,
+            strided_slice_quant8_3::examples);
+}
+
+namespace strided_slice_quant8_4 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_4 test
+#include "generated/examples/strided_slice_quant8_4.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_4.model.cpp"
+} // namespace strided_slice_quant8_4
+TEST_F(GeneratedTests, strided_slice_quant8_4) {
+    execute(strided_slice_quant8_4::CreateModel,
+            strided_slice_quant8_4::is_ignored,
+            strided_slice_quant8_4::examples);
+}
+
+namespace strided_slice_quant8_5 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_5 test
+#include "generated/examples/strided_slice_quant8_5.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_5.model.cpp"
+} // namespace strided_slice_quant8_5
+TEST_F(GeneratedTests, strided_slice_quant8_5) {
+    execute(strided_slice_quant8_5::CreateModel,
+            strided_slice_quant8_5::is_ignored,
+            strided_slice_quant8_5::examples);
+}
+
+namespace strided_slice_quant8_6 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_6 test
+#include "generated/examples/strided_slice_quant8_6.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_6.model.cpp"
+} // namespace strided_slice_quant8_6
+TEST_F(GeneratedTests, strided_slice_quant8_6) {
+    execute(strided_slice_quant8_6::CreateModel,
+            strided_slice_quant8_6::is_ignored,
+            strided_slice_quant8_6::examples);
+}
+
+namespace strided_slice_quant8_7 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_7 test
+#include "generated/examples/strided_slice_quant8_7.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_7.model.cpp"
+} // namespace strided_slice_quant8_7
+TEST_F(GeneratedTests, strided_slice_quant8_7) {
+    execute(strided_slice_quant8_7::CreateModel,
+            strided_slice_quant8_7::is_ignored,
+            strided_slice_quant8_7::examples);
+}
+
+namespace strided_slice_quant8_8 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_8 test
+#include "generated/examples/strided_slice_quant8_8.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_8.model.cpp"
+} // namespace strided_slice_quant8_8
+TEST_F(GeneratedTests, strided_slice_quant8_8) {
+    execute(strided_slice_quant8_8::CreateModel,
+            strided_slice_quant8_8::is_ignored,
+            strided_slice_quant8_8::examples);
+}
+
+namespace strided_slice_quant8_9 {
+std::vector<MixedTypedExample> examples = {
+// Generated strided_slice_quant8_9 test
+#include "generated/examples/strided_slice_quant8_9.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/strided_slice_quant8_9.model.cpp"
+} // namespace strided_slice_quant8_9
+TEST_F(GeneratedTests, strided_slice_quant8_9) {
+    execute(strided_slice_quant8_9::CreateModel,
+            strided_slice_quant8_9::is_ignored,
+            strided_slice_quant8_9::examples);
+}
+
 namespace sub {
 std::vector<MixedTypedExample> examples = {
 // Generated sub test
@@ -1975,6 +2437,20 @@
             sub::examples);
 }
 
+namespace transpose_float_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose_float_1 test
+#include "generated/examples/transpose_float_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/transpose_float_1.model.cpp"
+} // namespace transpose_float_1
+TEST_F(GeneratedTests, transpose_float_1) {
+    execute(transpose_float_1::CreateModel,
+            transpose_float_1::is_ignored,
+            transpose_float_1::examples);
+}
+
 namespace transpose {
 std::vector<MixedTypedExample> examples = {
 // Generated transpose test
@@ -1988,3 +2464,17 @@
             transpose::is_ignored,
             transpose::examples);
 }
+
+namespace transpose_quant8_1 {
+std::vector<MixedTypedExample> examples = {
+// Generated transpose_quant8_1 test
+#include "generated/examples/transpose_quant8_1.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/transpose_quant8_1.model.cpp"
+} // namespace transpose_quant8_1
+TEST_F(GeneratedTests, transpose_quant8_1) {
+    execute(transpose_quant8_1::CreateModel,
+            transpose_quant8_1::is_ignored,
+            transpose_quant8_1::examples);
+}
diff --git a/nn/runtime/test/generated/examples/batch_to_space_float_1.example.cpp b/nn/runtime/test/generated/examples/batch_to_space_float_1.example.cpp
new file mode 100644
index 0000000..45a7580
--- /dev/null
+++ b/nn/runtime/test/generated/examples/batch_to_space_float_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: batch_to_space_float_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 5, 2, 6, 9, 13, 10, 14, 3, 7, 4, 8, 11, 15, 12, 16}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/batch_to_space_quant8_1.example.cpp b/nn/runtime/test/generated/examples/batch_to_space_quant8_1.example.cpp
new file mode 100644
index 0000000..6d1d6f7
--- /dev/null
+++ b/nn/runtime/test/generated/examples/batch_to_space_quant8_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: batch_to_space_quant8_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 5, 2, 6, 9, 13, 10, 14, 3, 7, 4, 8, 11, 15, 12, 16}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/mean_float_1.example.cpp b/nn/runtime/test/generated/examples/mean_float_1.example.cpp
new file mode 100644
index 0000000..4c53d77
--- /dev/null
+++ b/nn/runtime/test/generated/examples/mean_float_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: mean_float_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {12.0f, 13.0f}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/mean_float_2.example.cpp b/nn/runtime/test/generated/examples/mean_float_2.example.cpp
new file mode 100644
index 0000000..844dd2a
--- /dev/null
+++ b/nn/runtime/test/generated/examples/mean_float_2.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: mean_float_2.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {10.5f, 12.5f, 14.5f}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/pad_float_1.example.cpp b/nn/runtime/test/generated/examples/pad_float_1.example.cpp
new file mode 100644
index 0000000..873149b
--- /dev/null
+++ b/nn/runtime/test/generated/examples/pad_float_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: pad_float_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {0, 1, 2, 3, 0, 0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/space_to_batch_float_1.example.cpp b/nn/runtime/test/generated/examples/space_to_batch_float_1.example.cpp
new file mode 100644
index 0000000..06d0ff3
--- /dev/null
+++ b/nn/runtime/test/generated/examples/space_to_batch_float_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: space_to_batch_float_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 3, 9, 11, 2, 4, 10, 12, 5, 7, 13, 15, 6, 8, 14, 16}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/space_to_batch_float_2.example.cpp b/nn/runtime/test/generated/examples/space_to_batch_float_2.example.cpp
new file mode 100644
index 0000000..a7b0010
--- /dev/null
+++ b/nn/runtime/test/generated/examples/space_to_batch_float_2.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: space_to_batch_float_2.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {0, 0, 0, 5, 0, 0, 0, 6, 0, 1, 0, 7, 0, 2, 0, 8, 0, 3, 0, 9, 0, 4, 0, 10}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/space_to_batch_float_3.example.cpp b/nn/runtime/test/generated/examples/space_to_batch_float_3.example.cpp
new file mode 100644
index 0000000..5198bae
--- /dev/null
+++ b/nn/runtime/test/generated/examples/space_to_batch_float_3.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: space_to_batch_float_3.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/space_to_batch_quant8_1.example.cpp b/nn/runtime/test/generated/examples/space_to_batch_quant8_1.example.cpp
new file mode 100644
index 0000000..1c86710
--- /dev/null
+++ b/nn/runtime/test/generated/examples/space_to_batch_quant8_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: space_to_batch_quant8_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 3, 9, 11, 2, 4, 10, 12, 5, 7, 13, 15, 6, 8, 14, 16}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/space_to_batch_quant8_2.example.cpp b/nn/runtime/test/generated/examples/space_to_batch_quant8_2.example.cpp
new file mode 100644
index 0000000..4e615d0
--- /dev/null
+++ b/nn/runtime/test/generated/examples/space_to_batch_quant8_2.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: space_to_batch_quant8_2.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {0, 0, 0, 5, 0, 0, 0, 6, 0, 1, 0, 7, 0, 2, 0, 8, 0, 3, 0, 9, 0, 4, 0, 10}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/space_to_batch_quant8_3.example.cpp b/nn/runtime/test/generated/examples/space_to_batch_quant8_3.example.cpp
new file mode 100644
index 0000000..13745ac
--- /dev/null
+++ b/nn/runtime/test/generated/examples/space_to_batch_quant8_3.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: space_to_batch_quant8_3.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/squeeze_float_1.example.cpp b/nn/runtime/test/generated/examples/squeeze_float_1.example.cpp
new file mode 100644
index 0000000..2616d65
--- /dev/null
+++ b/nn/runtime/test/generated/examples/squeeze_float_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: squeeze_float_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/squeeze_quant8_1.example.cpp b/nn/runtime/test/generated/examples/squeeze_quant8_1.example.cpp
new file mode 100644
index 0000000..53bb0a8
--- /dev/null
+++ b/nn/runtime/test/generated/examples/squeeze_quant8_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: squeeze_quant8_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_1.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_1.example.cpp
new file mode 100644
index 0000000..ebd21df
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {2, 3}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_10.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_10.example.cpp
new file mode 100644
index 0000000..5350c61
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_10.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_10.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {4, 5, 6}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_2.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_2.example.cpp
new file mode 100644
index 0000000..b1c0011
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_2.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_2.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {2, 3}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_3.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_3.example.cpp
new file mode 100644
index 0000000..fbd8616
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_3.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_3.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_4.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_4.example.cpp
new file mode 100644
index 0000000..0ec32c3
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_4.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_4.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {2}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_5.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_5.example.cpp
new file mode 100644
index 0000000..a2b8b66
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_5.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_5.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_6.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_6.example.cpp
new file mode 100644
index 0000000..0a318b0
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_6.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_6.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {2, 3, 4}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_7.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_7.example.cpp
new file mode 100644
index 0000000..72cdcd3
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_7.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_7.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {3, 2, 1}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_8.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_8.example.cpp
new file mode 100644
index 0000000..528e2d6
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_8.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_8.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {6, 5, 4}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_float_9.example.cpp b/nn/runtime/test/generated/examples/strided_slice_float_9.example.cpp
new file mode 100644
index 0000000..2920d8e
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_float_9.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_float_9.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4, 5, 6}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 4, 5}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_qaunt8_10.example.cpp b/nn/runtime/test/generated/examples/strided_slice_qaunt8_10.example.cpp
new file mode 100644
index 0000000..091aa06
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_qaunt8_10.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_qaunt8_10.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {4, 5, 6}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_1.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_1.example.cpp
new file mode 100644
index 0000000..55f245e
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {1, 2, 3, 4}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {2, 3}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_2.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_2.example.cpp
new file mode 100644
index 0000000..481fe2e
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_2.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_2.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {2, 3}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_3.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_3.example.cpp
new file mode 100644
index 0000000..a68e882
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_3.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_3.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_4.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_4.example.cpp
new file mode 100644
index 0000000..aa486a4
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_4.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_4.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {2}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_5.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_5.example.cpp
new file mode 100644
index 0000000..db84580
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_5.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_5.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_6.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_6.example.cpp
new file mode 100644
index 0000000..232e8c4
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_6.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_6.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {2, 3, 4}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_7.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_7.example.cpp
new file mode 100644
index 0000000..86f32fe
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_7.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_7.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {3, 2, 1}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_8.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_8.example.cpp
new file mode 100644
index 0000000..fe5026d
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_8.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_8.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {6, 5, 4}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/strided_slice_quant8_9.example.cpp b/nn/runtime/test/generated/examples/strided_slice_quant8_9.example.cpp
new file mode 100644
index 0000000..dd590e4
--- /dev/null
+++ b/nn/runtime/test/generated/examples/strided_slice_quant8_9.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: strided_slice_quant8_9.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 3, 4, 5, 6}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {1, 2, 4, 5}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/transpose_float_1.example.cpp b/nn/runtime/test/generated/examples/transpose_float_1.example.cpp
new file mode 100644
index 0000000..31f6799
--- /dev/null
+++ b/nn/runtime/test/generated/examples/transpose_float_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: transpose_float_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {{0, {0, 1, 2, 3, 4, 20, 21, 22, 23, 24, 40, 41, 42, 43, 44, 60, 61, 62, 63, 64, 80, 81, 82, 83, 84, 100, 101, 102, 103, 104, 5, 6, 7, 8, 9, 25, 26, 27, 28, 29, 45, 46, 47, 48, 49, 65, 66, 67, 68, 69, 85, 86, 87, 88, 89, 105, 106, 107, 108, 109, 10, 11, 12, 13, 14, 30, 31, 32, 33, 34, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 90, 91, 92, 93, 94, 110, 111, 112, 113, 114, 15, 16, 17, 18, 19, 35, 36, 37, 38, 39, 55, 56, 57, 58, 59, 75, 76, 77, 78, 79, 95, 96, 97, 98, 99, 115, 116, 117, 118, 119}}},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/examples/transpose_quant8_1.example.cpp b/nn/runtime/test/generated/examples/transpose_quant8_1.example.cpp
new file mode 100644
index 0000000..f1bb2fa
--- /dev/null
+++ b/nn/runtime/test/generated/examples/transpose_quant8_1.example.cpp
@@ -0,0 +1,22 @@
+// Generated file (from: transpose_quant8_1.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+  // int -> FLOAT32 map
+  {},
+  // int -> INT32 map
+  {},
+  // int -> QUANT8_ASYMM map
+  {{0, {0, 1, 2, 3, 4, 20, 21, 22, 23, 24, 40, 41, 42, 43, 44, 60, 61, 62, 63, 64, 80, 81, 82, 83, 84, 100, 101, 102, 103, 104, 5, 6, 7, 8, 9, 25, 26, 27, 28, 29, 45, 46, 47, 48, 49, 65, 66, 67, 68, 69, 85, 86, 87, 88, 89, 105, 106, 107, 108, 109, 10, 11, 12, 13, 14, 30, 31, 32, 33, 34, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 90, 91, 92, 93, 94, 110, 111, 112, 113, 114, 15, 16, 17, 18, 19, 35, 36, 37, 38, 39, 55, 56, 57, 58, 59, 75, 76, 77, 78, 79, 95, 96, 97, 98, 99, 115, 116, 117, 118, 119}}}
+}
+}, // End of an example
diff --git a/nn/runtime/test/generated/models/batch_to_space_float_1.model.cpp b/nn/runtime/test/generated/models/batch_to_space_float_1.model.cpp
new file mode 100644
index 0000000..7fb6243
--- /dev/null
+++ b/nn/runtime/test/generated/models/batch_to_space_float_1.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: batch_to_space_float_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type3(Type::TENSOR_FLOAT32, {1, 4, 4, 1});
+  OperandType type0(Type::TENSOR_FLOAT32, {4, 2, 2, 1});
+  OperandType type2(Type::TENSOR_INT32, {2, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto block_size = model->addOperand(&type1);
+  auto crops = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t block_size_init[] = {2, 2};
+  model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
+  static int32_t crops_init[] = {0, 0, 0, 0};
+  model->setOperandValue(crops, crops_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BATCH_TO_SPACE_ND, {input, block_size, crops}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/batch_to_space_quant8_1.model.cpp b/nn/runtime/test/generated/models/batch_to_space_quant8_1.model.cpp
new file mode 100644
index 0000000..5a66696
--- /dev/null
+++ b/nn/runtime/test/generated/models/batch_to_space_quant8_1.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: batch_to_space_quant8_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::TENSOR_INT32, {2, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {1, 4, 4, 1}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4, 2, 2, 1}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto block_size = model->addOperand(&type1);
+  auto crops = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t block_size_init[] = {2, 2};
+  model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
+  static int32_t crops_init[] = {0, 0, 0, 0};
+  model->setOperandValue(crops, crops_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BATCH_TO_SPACE_ND, {input, block_size, crops}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/mean_float_1.model.cpp b/nn/runtime/test/generated/models/mean_float_1.model.cpp
new file mode 100644
index 0000000..7a3ce25
--- /dev/null
+++ b/nn/runtime/test/generated/models/mean_float_1.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: mean_float_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {2});
+  OperandType type0(Type::TENSOR_FLOAT32, {4, 3, 2});
+  OperandType type1(Type::TENSOR_INT32, {4});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto axis = model->addOperand(&type1);
+  auto keepDims = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t axis_init[] = {1, 0, -3, -3};
+  model->setOperandValue(axis, axis_init, sizeof(int32_t) * 4);
+  static int32_t keepDims_init[] = {0};
+  model->setOperandValue(keepDims, keepDims_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_MEAN, {input, axis, keepDims}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/mean_float_2.model.cpp b/nn/runtime/test/generated/models/mean_float_2.model.cpp
new file mode 100644
index 0000000..9838db4
--- /dev/null
+++ b/nn/runtime/test/generated/models/mean_float_2.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: mean_float_2.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {1, 3, 1});
+  OperandType type0(Type::TENSOR_FLOAT32, {4, 3, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto axis = model->addOperand(&type1);
+  auto keepDims = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t axis_init[] = {0, 2};
+  model->setOperandValue(axis, axis_init, sizeof(int32_t) * 2);
+  static int32_t keepDims_init[] = {1};
+  model->setOperandValue(keepDims, keepDims_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_MEAN, {input, axis, keepDims}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/pad_float_1.model.cpp b/nn/runtime/test/generated/models/pad_float_1.model.cpp
new file mode 100644
index 0000000..61ae0b7
--- /dev/null
+++ b/nn/runtime/test/generated/models/pad_float_1.model.cpp
@@ -0,0 +1,24 @@
+// Generated file (from: pad_float_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type0(Type::TENSOR_FLOAT32, {1, 2, 3, 1});
+  OperandType type2(Type::TENSOR_FLOAT32, {1, 4, 7, 1});
+  OperandType type1(Type::TENSOR_INT32, {4, 2});
+  // Phase 1, operands
+  auto op1 = model->addOperand(&type0);
+  auto op2 = model->addOperand(&type1);
+  auto op3 = model->addOperand(&type2);
+  // Phase 2, operations
+  static int32_t op2_init[] = {0, 0, 0, 2, 1, 3, 0, 0};
+  model->setOperandValue(op2, op2_init, sizeof(int32_t) * 8);
+  model->addOperation(ANEURALNETWORKS_PAD, {op1, op2}, {op3});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {op1},
+    {op3});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/space_to_batch_float_1.model.cpp b/nn/runtime/test/generated/models/space_to_batch_float_1.model.cpp
new file mode 100644
index 0000000..f4dfab9
--- /dev/null
+++ b/nn/runtime/test/generated/models/space_to_batch_float_1.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: space_to_batch_float_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type0(Type::TENSOR_FLOAT32, {1, 4, 4, 1});
+  OperandType type3(Type::TENSOR_FLOAT32, {4, 2, 2, 1});
+  OperandType type2(Type::TENSOR_INT32, {2, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto block_size = model->addOperand(&type1);
+  auto paddings = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t block_size_init[] = {2, 2};
+  model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
+  static int32_t paddings_init[] = {0, 0, 0, 0};
+  model->setOperandValue(paddings, paddings_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_SPACE_TO_BATCH_ND, {input, block_size, paddings}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/space_to_batch_float_2.model.cpp b/nn/runtime/test/generated/models/space_to_batch_float_2.model.cpp
new file mode 100644
index 0000000..44dee00
--- /dev/null
+++ b/nn/runtime/test/generated/models/space_to_batch_float_2.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: space_to_batch_float_2.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type0(Type::TENSOR_FLOAT32, {1, 5, 2, 1});
+  OperandType type3(Type::TENSOR_FLOAT32, {6, 2, 2, 1});
+  OperandType type2(Type::TENSOR_INT32, {2, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto block_size = model->addOperand(&type1);
+  auto paddings = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t block_size_init[] = {3, 2};
+  model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
+  static int32_t paddings_init[] = {1, 0, 2, 0};
+  model->setOperandValue(paddings, paddings_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_SPACE_TO_BATCH_ND, {input, block_size, paddings}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/space_to_batch_float_3.model.cpp b/nn/runtime/test/generated/models/space_to_batch_float_3.model.cpp
new file mode 100644
index 0000000..f2fa990
--- /dev/null
+++ b/nn/runtime/test/generated/models/space_to_batch_float_3.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: space_to_batch_float_3.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type0(Type::TENSOR_FLOAT32, {1, 4, 2, 1});
+  OperandType type3(Type::TENSOR_FLOAT32, {6, 2, 4, 1});
+  OperandType type2(Type::TENSOR_INT32, {2, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto block_size = model->addOperand(&type1);
+  auto paddings = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t block_size_init[] = {3, 2};
+  model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
+  static int32_t paddings_init[] = {1, 1, 2, 4};
+  model->setOperandValue(paddings, paddings_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_SPACE_TO_BATCH_ND, {input, block_size, paddings}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/space_to_batch_quant8_1.model.cpp b/nn/runtime/test/generated/models/space_to_batch_quant8_1.model.cpp
new file mode 100644
index 0000000..cfd56c2
--- /dev/null
+++ b/nn/runtime/test/generated/models/space_to_batch_quant8_1.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: space_to_batch_quant8_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::TENSOR_INT32, {2, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {1, 4, 4, 1}, 1.0, 0);
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {4, 2, 2, 1}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto block_size = model->addOperand(&type1);
+  auto paddings = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t block_size_init[] = {2, 2};
+  model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
+  static int32_t paddings_init[] = {0, 0, 0, 0};
+  model->setOperandValue(paddings, paddings_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_SPACE_TO_BATCH_ND, {input, block_size, paddings}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/space_to_batch_quant8_2.model.cpp b/nn/runtime/test/generated/models/space_to_batch_quant8_2.model.cpp
new file mode 100644
index 0000000..8ab61a1
--- /dev/null
+++ b/nn/runtime/test/generated/models/space_to_batch_quant8_2.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: space_to_batch_quant8_2.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::TENSOR_INT32, {2, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {1, 5, 2, 1}, 1.0, 0);
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {6, 2, 2, 1}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto block_size = model->addOperand(&type1);
+  auto paddings = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t block_size_init[] = {3, 2};
+  model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
+  static int32_t paddings_init[] = {1, 0, 2, 0};
+  model->setOperandValue(paddings, paddings_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_SPACE_TO_BATCH_ND, {input, block_size, paddings}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/space_to_batch_quant8_3.model.cpp b/nn/runtime/test/generated/models/space_to_batch_quant8_3.model.cpp
new file mode 100644
index 0000000..7ee3884
--- /dev/null
+++ b/nn/runtime/test/generated/models/space_to_batch_quant8_3.model.cpp
@@ -0,0 +1,28 @@
+// Generated file (from: space_to_batch_quant8_3.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::TENSOR_INT32, {2, 2});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {1, 4, 2, 1}, 1.0, 0);
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {6, 2, 4, 1}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto block_size = model->addOperand(&type1);
+  auto paddings = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t block_size_init[] = {3, 2};
+  model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
+  static int32_t paddings_init[] = {1, 1, 2, 4};
+  model->setOperandValue(paddings, paddings_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_SPACE_TO_BATCH_ND, {input, block_size, paddings}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/squeeze_float_1.model.cpp b/nn/runtime/test/generated/models/squeeze_float_1.model.cpp
new file mode 100644
index 0000000..2277e38
--- /dev/null
+++ b/nn/runtime/test/generated/models/squeeze_float_1.model.cpp
@@ -0,0 +1,24 @@
+// Generated file (from: squeeze_float_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type0(Type::TENSOR_FLOAT32, {1, 24, 1});
+  OperandType type2(Type::TENSOR_FLOAT32, {1, 24});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto squeezeDims = model->addOperand(&type1);
+  auto output = model->addOperand(&type2);
+  // Phase 2, operations
+  static int32_t squeezeDims_init[] = {2};
+  model->setOperandValue(squeezeDims, squeezeDims_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_SQUEEZE, {input, squeezeDims}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/squeeze_quant8_1.model.cpp b/nn/runtime/test/generated/models/squeeze_quant8_1.model.cpp
new file mode 100644
index 0000000..f122d43
--- /dev/null
+++ b/nn/runtime/test/generated/models/squeeze_quant8_1.model.cpp
@@ -0,0 +1,24 @@
+// Generated file (from: squeeze_quant8_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type1(Type::TENSOR_INT32, {1});
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {1, 24, 1}, 1.0, 0);
+  OperandType type2(Type::TENSOR_QUANT8_ASYMM, {1, 24}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto squeezeDims = model->addOperand(&type1);
+  auto output = model->addOperand(&type2);
+  // Phase 2, operations
+  static int32_t squeezeDims_init[] = {2};
+  model->setOperandValue(squeezeDims, squeezeDims_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_SQUEEZE, {input, squeezeDims}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_1.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_1.model.cpp
new file mode 100644
index 0000000..98adfcc
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_1.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {2});
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_10.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_10.model.cpp
new file mode 100644
index 0000000..6fecfd3
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_10.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_10.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {1, 3});
+  OperandType type0(Type::TENSOR_FLOAT32, {2, 3});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1, 0};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 2);
+  static int32_t ends_init[] = {2, 2};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 2);
+  static int32_t strides_init[] = {1, 1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 2);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {2};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_2.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_2.model.cpp
new file mode 100644
index 0000000..81e8796
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_2.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_2.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {2});
+  OperandType type0(Type::TENSOR_FLOAT32, {4});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {-3};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_3.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_3.model.cpp
new file mode 100644
index 0000000..343455a
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_3.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_3.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {3});
+  OperandType type0(Type::TENSOR_FLOAT32, {4});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {-5};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_4.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_4.model.cpp
new file mode 100644
index 0000000..b7524de
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_4.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_4.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {1});
+  OperandType type0(Type::TENSOR_FLOAT32, {4});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {-2};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_5.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_5.model.cpp
new file mode 100644
index 0000000..a590fc5
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_5.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_5.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {3});
+  OperandType type0(Type::TENSOR_FLOAT32, {4});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {1};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_6.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_6.model.cpp
new file mode 100644
index 0000000..db1de2b
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_6.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_6.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {3});
+  OperandType type0(Type::TENSOR_FLOAT32, {4});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {1};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_7.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_7.model.cpp
new file mode 100644
index 0000000..d4d12e9
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_7.model.cpp
@@ -0,0 +1,36 @@
+// Generated file (from: strided_slice_float_7.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type0(Type::TENSOR_FLOAT32, {3});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type0);
+  // Phase 2, operations
+  static int32_t begins_init[] = {-1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {-4};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {-1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_8.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_8.model.cpp
new file mode 100644
index 0000000..30c96b5
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_8.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_8.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {1, 3});
+  OperandType type0(Type::TENSOR_FLOAT32, {2, 3});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1, -1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 2);
+  static int32_t ends_init[] = {2, -4};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 2);
+  static int32_t strides_init[] = {2, -1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 2);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_float_9.model.cpp b/nn/runtime/test/generated/models/strided_slice_float_9.model.cpp
new file mode 100644
index 0000000..a93a1f8
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_float_9.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_float_9.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {2, 2});
+  OperandType type0(Type::TENSOR_FLOAT32, {2, 3});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1, 0};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 2);
+  static int32_t ends_init[] = {2, 2};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 2);
+  static int32_t strides_init[] = {1, 1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 2);
+  static int32_t beginMask_init[] = {1};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_qaunt8_10.model.cpp b/nn/runtime/test/generated/models/strided_slice_qaunt8_10.model.cpp
new file mode 100644
index 0000000..c201e7d
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_qaunt8_10.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_qaunt8_10.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {1, 3}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {2, 3}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1, 0};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 2);
+  static int32_t ends_init[] = {2, 2};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 2);
+  static int32_t strides_init[] = {1, 1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 2);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {2};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_1.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_1.model.cpp
new file mode 100644
index 0000000..2fed767
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_1.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_quant8_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type3(Type::TENSOR_FLOAT32, {2}, 1.0, 0);
+  OperandType type0(Type::TENSOR_FLOAT32, {4}, 1.0, 0);
+  OperandType type1(Type::TENSOR_INT32, {1});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_2.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_2.model.cpp
new file mode 100644
index 0000000..abd506e
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_2.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_quant8_2.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {2}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {-3};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_3.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_3.model.cpp
new file mode 100644
index 0000000..9fbb74d
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_3.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_quant8_3.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {3}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {-5};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_4.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_4.model.cpp
new file mode 100644
index 0000000..49a9c19
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_4.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_quant8_4.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {1}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {-2};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_5.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_5.model.cpp
new file mode 100644
index 0000000..e91d8ed
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_5.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_quant8_5.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {3}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {1};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_6.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_6.model.cpp
new file mode 100644
index 0000000..61daca8
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_6.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_quant8_6.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {3}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {3};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {1};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_7.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_7.model.cpp
new file mode 100644
index 0000000..b45947f
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_7.model.cpp
@@ -0,0 +1,36 @@
+// Generated file (from: strided_slice_quant8_7.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {1});
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {3}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type0);
+  // Phase 2, operations
+  static int32_t begins_init[] = {-1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 1);
+  static int32_t ends_init[] = {-4};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 1);
+  static int32_t strides_init[] = {-1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 1);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_8.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_8.model.cpp
new file mode 100644
index 0000000..40554f9
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_8.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_quant8_8.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {1, 3}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {2, 3}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1, -1};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 2);
+  static int32_t ends_init[] = {2, -4};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 2);
+  static int32_t strides_init[] = {2, -1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 2);
+  static int32_t beginMask_init[] = {0};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/strided_slice_quant8_9.model.cpp b/nn/runtime/test/generated/models/strided_slice_quant8_9.model.cpp
new file mode 100644
index 0000000..6c67d4c
--- /dev/null
+++ b/nn/runtime/test/generated/models/strided_slice_quant8_9.model.cpp
@@ -0,0 +1,37 @@
+// Generated file (from: strided_slice_quant8_9.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type2(Type::INT32, {});
+  OperandType type1(Type::TENSOR_INT32, {2});
+  OperandType type3(Type::TENSOR_QUANT8_ASYMM, {2, 2}, 1.0, 0);
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {2, 3}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto begins = model->addOperand(&type1);
+  auto ends = model->addOperand(&type1);
+  auto strides = model->addOperand(&type1);
+  auto beginMask = model->addOperand(&type2);
+  auto endMask = model->addOperand(&type2);
+  auto output = model->addOperand(&type3);
+  // Phase 2, operations
+  static int32_t begins_init[] = {1, 0};
+  model->setOperandValue(begins, begins_init, sizeof(int32_t) * 2);
+  static int32_t ends_init[] = {2, 2};
+  model->setOperandValue(ends, ends_init, sizeof(int32_t) * 2);
+  static int32_t strides_init[] = {1, 1};
+  model->setOperandValue(strides, strides_init, sizeof(int32_t) * 2);
+  static int32_t beginMask_init[] = {1};
+  model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1);
+  static int32_t endMask_init[] = {0};
+  model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/transpose_float_1.model.cpp b/nn/runtime/test/generated/models/transpose_float_1.model.cpp
new file mode 100644
index 0000000..f6d0d08
--- /dev/null
+++ b/nn/runtime/test/generated/models/transpose_float_1.model.cpp
@@ -0,0 +1,24 @@
+// Generated file (from: transpose_float_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type0(Type::TENSOR_FLOAT32, {2, 3, 4, 5});
+  OperandType type2(Type::TENSOR_FLOAT32, {4, 2, 3, 5});
+  OperandType type1(Type::TENSOR_INT32, {4});
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto perms = model->addOperand(&type1);
+  auto output = model->addOperand(&type2);
+  // Phase 2, operations
+  static int32_t perms_init[] = {2, 0, 1, 3};
+  model->setOperandValue(perms, perms_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {input, perms}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/models/transpose_quant8_1.model.cpp b/nn/runtime/test/generated/models/transpose_quant8_1.model.cpp
new file mode 100644
index 0000000..808ad2b
--- /dev/null
+++ b/nn/runtime/test/generated/models/transpose_quant8_1.model.cpp
@@ -0,0 +1,24 @@
+// Generated file (from: transpose_quant8_1.mod.py). Do not edit
+void CreateModel(Model *model) {
+  OperandType type1(Type::TENSOR_INT32, {4});
+  OperandType type0(Type::TENSOR_QUANT8_ASYMM, {2, 3, 4, 5}, 1.0, 0);
+  OperandType type2(Type::TENSOR_QUANT8_ASYMM, {4, 2, 3, 5}, 1.0, 0);
+  // Phase 1, operands
+  auto input = model->addOperand(&type0);
+  auto perms = model->addOperand(&type1);
+  auto output = model->addOperand(&type2);
+  // Phase 2, operations
+  static int32_t perms_init[] = {2, 0, 1, 3};
+  model->setOperandValue(perms, perms_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {input, perms}, {output});
+  // Phase 3, inputs and outputs
+  model->identifyInputsAndOutputs(
+    {input},
+    {output});
+  assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/batch_to_space_float_1.model.cpp b/nn/runtime/test/generated/vts_models/batch_to_space_float_1.model.cpp
new file mode 100644
index 0000000..a57f246
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/batch_to_space_float_1.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 4, 4, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BATCH_TO_SPACE_ND,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/batch_to_space_quant8_1.model.cpp b/nn/runtime/test/generated/vts_models/batch_to_space_quant8_1.model.cpp
new file mode 100644
index 0000000..f56bab0
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/batch_to_space_quant8_1.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 4, 4, 1},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BATCH_TO_SPACE_ND,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/mean_float_1.model.cpp b/nn/runtime/test/generated/vts_models/mean_float_1.model.cpp
new file mode 100644
index 0000000..db44286
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/mean_float_1.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4, 3, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 16},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::MEAN,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 0, 0, 0, 0, 253, 255, 255, 255, 253, 255, 255, 255, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/mean_float_2.model.cpp b/nn/runtime/test/generated/vts_models/mean_float_2.model.cpp
new file mode 100644
index 0000000..50f35a3
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/mean_float_2.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4, 3, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 3, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::MEAN,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/pad_float_1.model.cpp b/nn/runtime/test/generated/vts_models/pad_float_1.model.cpp
new file mode 100644
index 0000000..0434f11
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/pad_float_1.model.cpp
@@ -0,0 +1,62 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2, 3, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {4, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 4, 7, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::PAD,
+            .inputs = {0, 1},
+            .outputs = {2},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {2};
+    std::vector<uint8_t> operandValues = {
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/space_to_batch_float_1.model.cpp b/nn/runtime/test/generated/vts_models/space_to_batch_float_1.model.cpp
new file mode 100644
index 0000000..350e113
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/space_to_batch_float_1.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 4, 4, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::SPACE_TO_BATCH_ND,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/space_to_batch_float_2.model.cpp b/nn/runtime/test/generated/vts_models/space_to_batch_float_2.model.cpp
new file mode 100644
index 0000000..4fbaab5
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/space_to_batch_float_2.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 5, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {6, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::SPACE_TO_BATCH_ND,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/space_to_batch_float_3.model.cpp b/nn/runtime/test/generated/vts_models/space_to_batch_float_3.model.cpp
new file mode 100644
index 0000000..1b823a2
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/space_to_batch_float_3.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 4, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {6, 2, 4, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::SPACE_TO_BATCH_ND,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/space_to_batch_quant8_1.model.cpp b/nn/runtime/test/generated/vts_models/space_to_batch_quant8_1.model.cpp
new file mode 100644
index 0000000..9da8789
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/space_to_batch_quant8_1.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 4, 4, 1},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::SPACE_TO_BATCH_ND,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/space_to_batch_quant8_2.model.cpp b/nn/runtime/test/generated/vts_models/space_to_batch_quant8_2.model.cpp
new file mode 100644
index 0000000..7dd74ae
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/space_to_batch_quant8_2.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 5, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {6, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::SPACE_TO_BATCH_ND,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/space_to_batch_quant8_3.model.cpp b/nn/runtime/test/generated/vts_models/space_to_batch_quant8_3.model.cpp
new file mode 100644
index 0000000..93aff19
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/space_to_batch_quant8_3.model.cpp
@@ -0,0 +1,71 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 4, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {6, 2, 4, 1},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::SPACE_TO_BATCH_ND,
+            .inputs = {0, 1, 2},
+            .outputs = {3},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {3};
+    std::vector<uint8_t> operandValues = {
+      3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/squeeze_float_1.model.cpp b/nn/runtime/test/generated/vts_models/squeeze_float_1.model.cpp
new file mode 100644
index 0000000..da86602
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/squeeze_float_1.model.cpp
@@ -0,0 +1,62 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 24, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 24},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::SQUEEZE,
+            .inputs = {0, 1},
+            .outputs = {2},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {2};
+    std::vector<uint8_t> operandValues = {
+      2, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/squeeze_quant8_1.model.cpp b/nn/runtime/test/generated/vts_models/squeeze_quant8_1.model.cpp
new file mode 100644
index 0000000..279fdbc
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/squeeze_quant8_1.model.cpp
@@ -0,0 +1,62 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 24, 1},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 24},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::SQUEEZE,
+            .inputs = {0, 1},
+            .outputs = {2},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {2};
+    std::vector<uint8_t> operandValues = {
+      2, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_1.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_1.model.cpp
new file mode 100644
index 0000000..a98cdc8
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_1.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_10.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_10.model.cpp
new file mode 100644
index 0000000..17ca04d
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_10.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {2, 3},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 3},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_2.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_2.model.cpp
new file mode 100644
index 0000000..2163cb8
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_2.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      253, 255, 255, 255, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_3.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_3.model.cpp
new file mode 100644
index 0000000..c15156a
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_3.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {3},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      251, 255, 255, 255, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_4.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_4.model.cpp
new file mode 100644
index 0000000..ed2a1b4
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_4.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 254, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_5.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_5.model.cpp
new file mode 100644
index 0000000..9873059
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_5.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {3},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_6.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_6.model.cpp
new file mode 100644
index 0000000..f689320
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_6.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {3},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_7.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_7.model.cpp
new file mode 100644
index 0000000..facc785
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_7.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {3},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {3},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_8.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_8.model.cpp
new file mode 100644
index 0000000..859f832
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_8.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {2, 3},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 3},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 255, 255, 255, 255, 2, 0, 0, 0, 252, 255, 255, 255, 2, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_float_9.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_float_9.model.cpp
new file mode 100644
index 0000000..8ae37a8
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_float_9.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {2, 3},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_qaunt8_10.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_qaunt8_10.model.cpp
new file mode 100644
index 0000000..307135d
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_qaunt8_10.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {2, 3},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 3},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_1.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_1.model.cpp
new file mode 100644
index 0000000..19dcaac
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_1.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {2},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_2.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_2.model.cpp
new file mode 100644
index 0000000..d4801fe
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_2.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {2},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      253, 255, 255, 255, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_3.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_3.model.cpp
new file mode 100644
index 0000000..0e115eb
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_3.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {3},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      251, 255, 255, 255, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_4.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_4.model.cpp
new file mode 100644
index 0000000..472bfef
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_4.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 254, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_5.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_5.model.cpp
new file mode 100644
index 0000000..721f1e3
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_5.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {3},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_6.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_6.model.cpp
new file mode 100644
index 0000000..4f8459b
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_6.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {3},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_7.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_7.model.cpp
new file mode 100644
index 0000000..f2f1a46
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_7.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {3},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {3},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_8.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_8.model.cpp
new file mode 100644
index 0000000..f951909
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_8.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {2, 3},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 3},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 255, 255, 255, 255, 2, 0, 0, 0, 252, 255, 255, 255, 2, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/strided_slice_quant8_9.model.cpp b/nn/runtime/test/generated/vts_models/strided_slice_quant8_9.model.cpp
new file mode 100644
index 0000000..c50d405
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/strided_slice_quant8_9.model.cpp
@@ -0,0 +1,98 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {2, 3},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {2, 2},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::STRIDED_SLICE,
+            .inputs = {0, 1, 2, 3, 4, 5},
+            .outputs = {6},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {6};
+    std::vector<uint8_t> operandValues = {
+      1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/transpose_float_1.model.cpp b/nn/runtime/test/generated/vts_models/transpose_float_1.model.cpp
new file mode 100644
index 0000000..eb98545
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/transpose_float_1.model.cpp
@@ -0,0 +1,62 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {2, 3, 4, 5},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {4, 2, 3, 5},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::TRANSPOSE,
+            .inputs = {0, 1},
+            .outputs = {2},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {2};
+    std::vector<uint8_t> operandValues = {
+      2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
diff --git a/nn/runtime/test/generated/vts_models/transpose_quant8_1.model.cpp b/nn/runtime/test/generated/vts_models/transpose_quant8_1.model.cpp
new file mode 100644
index 0000000..a45ca88
--- /dev/null
+++ b/nn/runtime/test/generated/vts_models/transpose_quant8_1.model.cpp
@@ -0,0 +1,62 @@
+// Generated code. Do not edit
+// Create the model
+Model createTestModel() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {2, 3, 4, 5},
+            .numberOfConsumers = 1,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {4, 2, 3, 5},
+            .numberOfConsumers = 0,
+            .scale = 1.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::TRANSPOSE,
+            .inputs = {0, 1},
+            .outputs = {2},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {0};
+    const std::vector<uint32_t> outputIndexes = {2};
+    std::vector<uint8_t> operandValues = {
+      2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+bool is_ignored(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}