Randomized end-to-end MobileNet v3 benchmark

PiperOrigin-RevId: 284567328
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ccc6646..e7a0323 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2021,29 +2021,41 @@
   TARGET_LINK_LIBRARIES(f32-sigmoid-eval PRIVATE XNNPACK benchmark fp16)
 
   # ---[ Build end-to-end microbenchmarks
-  ADD_EXECUTABLE(end2end-bench bench/end2end.cc models/mobilenet-v1.cc models/mobilenet-v2.cc)
+  ADD_LIBRARY(bench-models OBJECT
+    models/mobilenet-v1.cc
+    models/mobilenet-v2.cc
+    models/mobilenet-v3-large.cc
+    models/mobilenet-v3-small.cc)
+  SET_TARGET_PROPERTIES(bench-models PROPERTIES
+    CXX_STANDARD 11
+    CXX_STANDARD_REQUIRED YES
+    CXX_EXTENSIONS YES)
+  TARGET_INCLUDE_DIRECTORIES(bench-models PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
+  TARGET_LINK_LIBRARIES(bench-models PRIVATE XNNPACK benchmark bench-utils)
+
+  ADD_EXECUTABLE(end2end-bench bench/end2end.cc)
   SET_TARGET_PROPERTIES(end2end-bench PROPERTIES
     CXX_STANDARD 11
     CXX_STANDARD_REQUIRED YES
     CXX_EXTENSIONS NO)
   TARGET_INCLUDE_DIRECTORIES(end2end-bench PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
-  TARGET_LINK_LIBRARIES(end2end-bench PRIVATE XNNPACK benchmark bench-utils)
+  TARGET_LINK_LIBRARIES(end2end-bench PRIVATE XNNPACK benchmark bench-models bench-utils)
 
-  ADD_EXECUTABLE(f32-dwconv-e2e-bench bench/f32-dwconv-e2e.cc models/mobilenet-v1.cc models/mobilenet-v2.cc)
+  ADD_EXECUTABLE(f32-dwconv-e2e-bench bench/f32-dwconv-e2e.cc)
   SET_TARGET_PROPERTIES(f32-dwconv-e2e-bench PROPERTIES
     CXX_STANDARD 11
     CXX_STANDARD_REQUIRED YES
     CXX_EXTENSIONS NO)
   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-e2e-bench PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" src)
-  TARGET_LINK_LIBRARIES(f32-dwconv-e2e-bench PRIVATE XNNPACK benchmark bench-utils)
+  TARGET_LINK_LIBRARIES(f32-dwconv-e2e-bench PRIVATE XNNPACK benchmark bench-models bench-utils)
 
-  ADD_EXECUTABLE(f32-gemm-e2e-bench bench/f32-gemm-e2e.cc models/mobilenet-v1.cc models/mobilenet-v2.cc)
+  ADD_EXECUTABLE(f32-gemm-e2e-bench bench/f32-gemm-e2e.cc)
   SET_TARGET_PROPERTIES(f32-gemm-e2e-bench PROPERTIES
     CXX_STANDARD 11
     CXX_STANDARD_REQUIRED YES
     CXX_EXTENSIONS NO)
   TARGET_INCLUDE_DIRECTORIES(f32-gemm-e2e-bench PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" src)
-  TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE XNNPACK benchmark bench-utils)
+  TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE XNNPACK benchmark bench-models bench-utils)
 
   # ---[ Build operator-level microbenchmarks
   ADD_EXECUTABLE(add-bench bench/add.cc)