diff --git a/cmake/springbok_modules.cmake b/cmake/springbok_modules.cmake
index ba3c6bc..206374c 100644
--- a/cmake/springbok_modules.cmake
+++ b/cmake/springbok_modules.cmake
@@ -79,6 +79,8 @@
     EMITC
   )
 
+  # TODO(lundong): Re-enable InlineHAL VMVX after
+  # github.com/openxla/iree/issues/12620 is resolved
   if (${_RULE_VMVX})
     springbok_vmvx_module(
       NAME
@@ -89,7 +91,6 @@
         "${_RULE_C_IDENTIFIER}_bytecode_module_vmvx"
       FLAGS
         "${_RULE_FLAGS}"
-      "${_INLINE_HAL_ARG}"
     )
 
     springbok_vmvx_module(
@@ -99,7 +100,6 @@
         "${_RULE_SRC}"
       FLAGS
         "${_RULE_FLAGS}"
-      "${_INLINE_HAL_ARG}"
       EMITC
     )
   endif()
diff --git a/cmake/springbok_static_module.cmake b/cmake/springbok_static_module.cmake
index 099a615..7fef4cb 100644
--- a/cmake/springbok_static_module.cmake
+++ b/cmake/springbok_static_module.cmake
@@ -71,7 +71,7 @@
   iree_package_name(_PACKAGE_NAME)
   iree_package_ns(_PACKAGE_NS)
 
-  set(_CPU_FEATURES "+m,+f,+zvl512b,+zve32x")
+  set(_CPU_FEATURES "+m,+f,+zvl512b,+zve32f")
   if (${_RULE_RVV_OFF})
     set(_CPU_FEATURES "+m,+f")
   endif()
@@ -79,14 +79,14 @@
   # Set common iree-compile flags
   set(_COMPILER_ARGS ${_RULE_FLAGS})
   list(APPEND _COMPILER_ARGS "--iree-hal-target-backends=llvm-cpu")
-  list(APPEND _COMPILER_ARGS "--iree-llvm-debug-symbols=false")
+  list(APPEND _COMPILER_ARGS "--iree-llvmcpu-debug-symbols=false")
   list(APPEND _COMPILER_ARGS "--iree-vm-bytecode-module-strip-source-map=true")
   list(APPEND _COMPILER_ARGS "--iree-vm-emit-polyglot-zip=false")
-  list(APPEND _COMPILER_ARGS "--iree-llvm-target-triple=riscv32-pc-linux-elf")
-  list(APPEND _COMPILER_ARGS "--iree-llvm-target-cpu=generic-rv32")
-  list(APPEND _COMPILER_ARGS "--iree-llvm-target-cpu-features=${_CPU_FEATURES}")
-  list(APPEND _COMPILER_ARGS "--iree-llvm-target-abi=ilp32")
-  list(APPEND _COMPILER_ARGS "--iree-llvm-link-embedded=false")
+  list(APPEND _COMPILER_ARGS "--iree-llvmcpu-target-triple=riscv32-pc-linux-elf")
+  list(APPEND _COMPILER_ARGS "--iree-llvmcpu-target-cpu=generic-rv32")
+  list(APPEND _COMPILER_ARGS "--iree-llvmcpu-target-cpu-features=${_CPU_FEATURES}")
+  list(APPEND _COMPILER_ARGS "--iree-llvmcpu-target-abi=ilp32")
+  list(APPEND _COMPILER_ARGS "--iree-llvmcpu-link-embedded=false")
   if (${_RULE_INLINE_HAL})
     list(APPEND _COMPILER_ARGS "--iree-execution-model=inline-dynamic")
   endif()
@@ -99,8 +99,8 @@
     get_filename_component(_MLIR_SRC "${_MLIR_SRC}" REALPATH)
     list(APPEND _COMPILER_ARGS "--output-format=vm-c")
     list(APPEND _COMPILER_ARGS "--iree-vm-target-index-bits=32")
-    list(APPEND _COMPILER_ARGS "--iree-llvm-link-static")
-    list(APPEND _COMPILER_ARGS "--iree-llvm-static-library-output-path=${_O_FILE_NAME}")
+    list(APPEND _COMPILER_ARGS "--iree-llvmcpu-link-static")
+    list(APPEND _COMPILER_ARGS "--iree-llvmcpu-static-library-output-path=${_O_FILE_NAME}")
     list(APPEND _COMPILER_ARGS "${_MLIR_SRC}")
     list(APPEND _COMPILER_ARGS "-o")
     list(APPEND _COMPILER_ARGS "${_H_FILE_NAME}")
diff --git a/model_util/model_api.h b/model_util/model_api.h
index abddf81..89a297c 100644
--- a/model_util/model_api.h
+++ b/model_util/model_api.h
@@ -21,7 +21,7 @@
 
 #include "iree/hal/local/executable_library.h"
 #include "iree/modules/hal/module.h"
-#include "iree/vm/bytecode_module.h"
+#include "iree/vm/bytecode/module.h"
 
 #define MAX_MODEL_INPUT_NUM 2
 #define MAX_MODEL_INPUT_DIM 4
diff --git a/model_util/util.c b/model_util/util.c
index 768fc92..11cba21 100644
--- a/model_util/util.c
+++ b/model_util/util.c
@@ -208,7 +208,7 @@
     if (iree_status_is_ok(result)) {
       // Get the result buffers from the invocation.
       ret_buffer_view = (iree_hal_buffer_view_t *)iree_vm_list_get_ref_deref(
-          outputs, index_output, iree_hal_buffer_view_get_descriptor());
+          outputs, index_output, &iree_hal_buffer_view_descriptor);
       if (ret_buffer_view == NULL) {
         result = iree_make_status(IREE_STATUS_NOT_FOUND,
                                   "can't find return buffer view");
diff --git a/samples/simple_vec_mul/CMakeLists.txt b/samples/simple_vec_mul/CMakeLists.txt
index da7b17d..31a0060 100644
--- a/samples/simple_vec_mul/CMakeLists.txt
+++ b/samples/simple_vec_mul/CMakeLists.txt
@@ -4,6 +4,8 @@
 # https://github.com/llvm/llvm-project/blob/0eeab8b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp#L30-L51
 #-------------------------------------------------------------------------------
 
+# TODO(lundong): Re-enable InlineHAL VMVX after
+# github.com/openxla/iree/issues/12620 is resolved
 springbok_modules(
   NAME
     simple_float_mul
@@ -49,6 +51,8 @@
 #
 # to increase it.
 
+# TODO(lundong): Re-enable InlineHAL VMVX after
+# github.com/openxla/iree/issues/12620 is resolved
 iree_cc_binary(
   NAME
     simple_float_vec_mul_bytecode_vmvx
@@ -56,7 +60,7 @@
     "float_vec.c"
   DEPS
     ::simple_float_mul_bytecode_module_vmvx_c
-    model_util::util_vmvx_inline
+    model_util::util_vmvx
   LINKOPTS
     "LINKER:--defsym=__stack_size__=20k"
   COPTS
@@ -70,7 +74,7 @@
     "float_vec.c"
   DEPS
     ::simple_float_mul_c_module_vmvx_emitc
-    model_util::util_vmvx_inline
+    model_util::util_vmvx
   LINKOPTS
     "LINKER:--defsym=__stack_size__=20k"
   COPTS
@@ -86,7 +90,7 @@
   DEPS
     ::simple_float_mul_bytecode_module_static_c
     ::simple_float_mul_bytecode_module_static_lib
-    iree::vm::bytecode_module
+    iree::vm::bytecode::module
     model_util::util_static_inline
   LINKOPTS
     "LINKER:--defsym=__stack_size__=20k"
@@ -107,6 +111,8 @@
     "-DBUILD_EMITC"
 )
 
+# TODO(lundong): Re-enable InlineHAL VMVX after
+# github.com/openxla/iree/issues/12620 is resolved
 iree_cc_binary(
   NAME
     simple_int_vec_mul_bytecode_vmvx
@@ -114,7 +120,7 @@
     "int_vec.c"
   DEPS
     ::simple_int_mul_bytecode_module_vmvx_c
-    model_util::util_vmvx_inline
+    model_util::util_vmvx
   LINKOPTS
     "LINKER:--defsym=__stack_size__=20k"
   COPTS
@@ -128,7 +134,7 @@
     "int_vec.c"
   DEPS
     ::simple_int_mul_c_module_vmvx_emitc
-    model_util::util_vmvx_inline
+    model_util::util_vmvx
   LINKOPTS
     "LINKER:--defsym=__stack_size__=20k"
   COPTS
@@ -144,7 +150,7 @@
   DEPS
     ::simple_int_mul_bytecode_module_static_c
     ::simple_int_mul_bytecode_module_static_lib
-    iree::vm::bytecode_module
+    iree::vm::bytecode::module
     model_util::util_static_inline
   LINKOPTS
     "LINKER:--defsym=__stack_size__=20k"
diff --git a/vmvx_ukernel/CMakeLists.txt b/vmvx_ukernel/CMakeLists.txt
index 89f13a8..67e0e6c 100644
--- a/vmvx_ukernel/CMakeLists.txt
+++ b/vmvx_ukernel/CMakeLists.txt
@@ -49,7 +49,7 @@
   DEPS
     ::vmvx
     iree::hal::local::executable_loader
-    iree::vm::bytecode_module
+    iree::vm::bytecode::module
   DEFINES
     "IREE_HAVE_HAL_EXECUTABLE_LOADER_VMVX_MODULE=1"
   PUBLIC
diff --git a/vmvx_ukernel/query_tile_sizes.c b/vmvx_ukernel/query_tile_sizes.c
index 8a777aa..4bab96e 100644
--- a/vmvx_ukernel/query_tile_sizes.c
+++ b/vmvx_ukernel/query_tile_sizes.c
@@ -30,8 +30,6 @@
   iree_uk_uint32_t role = iree_uk_query_tile_sizes_operand_role(params->flags);
   IREE_UK_ASSERT(role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_LHS ||
                  role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RHS ||
-                 role ==
-                     IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RHS_TRANSPOSE ||
                  role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RESULT);
   const iree_uk_int64_t kDynamic = IREE_UK_INT64_MIN;
   IREE_UK_ASSERT((params->size0 >= 0 || params->size0 == kDynamic) ||
@@ -70,9 +68,6 @@
     out_params->tile_size0 = matmul_tile_sizes.M;
     out_params->tile_size1 = matmul_tile_sizes.K;
   } else if (role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RHS) {
-    out_params->tile_size0 = matmul_tile_sizes.K;
-    out_params->tile_size1 = matmul_tile_sizes.N;
-  } else if (role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RHS_TRANSPOSE) {
     out_params->tile_size0 = matmul_tile_sizes.N;
     out_params->tile_size1 = matmul_tile_sizes.K;
   } else if (role == IREE_UK_FLAG_QUERY_TILE_SIZES_OPERAND_ROLE_RESULT) {
