diff --git a/float_models/iree_exec/mobilenet_v1.c b/float_models/iree_exec/mobilenet_v1.c
index 98b82d0..04643f4 100644
--- a/float_models/iree_exec/mobilenet_v1.c
+++ b/float_models/iree_exec/mobilenet_v1.c
@@ -52,11 +52,7 @@
 }
 
 iree_hal_executable_library_query_fn_t library_query(void) {
-#if !defined(BUILD_EMITC)
-  return &mobilenet_v1_bytecode_module_static_linked_llvm_cpu_library_query;
-#else
-  return &mobilenet_v1_c_module_static_linked_llvm_cpu_library_query;
-#endif
+  return &mobilenet_v1_0_25_224_float_linked_llvm_cpu_library_query;
 }
 
 iree_status_t load_input_data(const MlModel *model, void **buffer,
diff --git a/quant_models/iree_exec/hps.c b/quant_models/iree_exec/hps.c
index 1b23f02..b55d848 100644
--- a/quant_models/iree_exec/hps.c
+++ b/quant_models/iree_exec/hps.c
@@ -78,11 +78,7 @@
 }
 
 iree_hal_executable_library_query_fn_t library_query(void) {
-#if !defined(BUILD_EMITC)
-  return &hps_bytecode_module_static_linked_llvm_cpu_library_query;
-#else
-  return &hps_c_module_static_linked_llvm_cpu_library_query;
-#endif
+  return &hps_quant_linked_llvm_cpu_library_query;
 }
 
 iree_status_t load_input_data(const MlModel *model, void **buffer,
diff --git a/quant_models/iree_exec/mobilenet_v1.c b/quant_models/iree_exec/mobilenet_v1.c
index 9394637..4da350d 100644
--- a/quant_models/iree_exec/mobilenet_v1.c
+++ b/quant_models/iree_exec/mobilenet_v1.c
@@ -52,11 +52,7 @@
 }
 
 iree_hal_executable_library_query_fn_t library_query(void) {
-#if !defined(BUILD_EMITC)
-  return &mobilenet_v1_bytecode_module_static_linked_llvm_cpu_library_query;
-#else
-  return &mobilenet_v1_c_module_static_linked_llvm_cpu_library_query;
-#endif
+  return &mobilenet_v1_0_25_224_quant_linked_llvm_cpu_library_query;
 }
 
 iree_status_t load_input_data(const MlModel *model, void **buffer,
diff --git a/quant_models/iree_exec/mobilenet_v2.c b/quant_models/iree_exec/mobilenet_v2.c
index e2d342a..64fb20c 100644
--- a/quant_models/iree_exec/mobilenet_v2.c
+++ b/quant_models/iree_exec/mobilenet_v2.c
@@ -52,11 +52,7 @@
 }
 
 iree_hal_executable_library_query_fn_t library_query(void) {
-#if !defined(BUILD_EMITC)
-  return &mobilenet_v2_bytecode_module_static_linked_llvm_cpu_library_query;
-#else
-  return &mobilenet_v2_c_module_static_linked_llvm_cpu_library_query;
-#endif
+  return &mobilenet_v2_1_0_224_quant_linked_llvm_cpu_library_query;
 }
 
 iree_status_t load_input_data(const MlModel *model, void **buffer,
diff --git a/quant_models/iree_exec/person_detection.c b/quant_models/iree_exec/person_detection.c
index 41bd9c3..93e324a 100644
--- a/quant_models/iree_exec/person_detection.c
+++ b/quant_models/iree_exec/person_detection.c
@@ -66,11 +66,7 @@
 
 #if !defined(BUILD_VMVX)
 iree_hal_executable_library_query_fn_t library_query(void) {
-#if !defined(BUILD_EMITC)
-  return &person_detection_bytecode_module_static_linked_llvm_cpu_library_query;
-#else
-  return &person_detection_c_module_static_linked_llvm_cpu_library_query;
-#endif
+  return &person_detection_linked_llvm_cpu_library_query;
 }
 #endif
 
