diff --git a/tools/versioner/src/Arch.cpp b/tools/versioner/src/Arch.cpp
index 4cd9e07..3a27a6e 100644
--- a/tools/versioner/src/Arch.cpp
+++ b/tools/versioner/src/Arch.cpp
@@ -28,12 +28,6 @@
     case Arch::arm64:
       return "arm64";
 
-    case Arch::mips:
-      return "mips";
-
-    case Arch::mips64:
-      return "mips64";
-
     case Arch::x86:
       return "x86";
 
@@ -47,8 +41,6 @@
 static const std::unordered_map<std::string, Arch> arch_name_map{
   {"arm", Arch::arm},
   {"arm64", Arch::arm64},
-  {"mips", Arch::mips},
-  {"mips64", Arch::mips64},
   {"x86", Arch::x86},
   {"x86_64", Arch::x86_64},
 };
diff --git a/tools/versioner/src/Arch.h b/tools/versioner/src/Arch.h
index e4bbcc4..74d0f8f 100644
--- a/tools/versioner/src/Arch.h
+++ b/tools/versioner/src/Arch.h
@@ -28,8 +28,6 @@
 enum class Arch : size_t {
   arm = 0,
   arm64,
-  mips,
-  mips64,
   x86,
   x86_64,
 };
@@ -123,8 +121,6 @@
 static const std::set<Arch> supported_archs = {
   Arch::arm,
   Arch::arm64,
-  Arch::mips,
-  Arch::mips64,
   Arch::x86,
   Arch::x86_64,
 };
@@ -132,8 +128,6 @@
 static ArchMap<std::string> arch_targets = {
   { Arch::arm, "arm-linux-androideabi" },
   { Arch::arm64, "aarch64-linux-android" },
-  { Arch::mips, "mipsel-linux-android" },
-  { Arch::mips64, "mips64el-linux-android" },
   { Arch::x86, "i686-linux-android" },
   { Arch::x86_64, "x86_64-linux-android" },
 };
@@ -145,8 +139,6 @@
 static const ArchMap<int> arch_min_api = {
   { Arch::arm, 9 },
   { Arch::arm64, 21 },
-  { Arch::mips, 9 },
-  { Arch::mips64, 21 },
   { Arch::x86, 9 },
   { Arch::x86_64, 21 },
 };
diff --git a/tools/versioner/src/DeclarationDatabase.cpp b/tools/versioner/src/DeclarationDatabase.cpp
index afae509..3c6f643 100644
--- a/tools/versioner/src/DeclarationDatabase.cpp
+++ b/tools/versioner/src/DeclarationDatabase.cpp
@@ -164,15 +164,12 @@
           { "deprecated_in", { &global_availability.deprecated } },
           { "obsoleted_in", { &global_availability.obsoleted } },
           { "introduced_in_arm", { &arch_availability[Arch::arm].introduced } },
-          { "introduced_in_mips", { &arch_availability[Arch::mips].introduced } },
           { "introduced_in_x86", { &arch_availability[Arch::x86].introduced } },
           { "introduced_in_32",
             { &arch_availability[Arch::arm].introduced,
-              &arch_availability[Arch::mips].introduced,
               &arch_availability[Arch::x86].introduced } },
           { "introduced_in_64",
             { &arch_availability[Arch::arm64].introduced,
-              &arch_availability[Arch::mips64].introduced,
               &arch_availability[Arch::x86_64].introduced } },
         };
 
diff --git a/tools/versioner/src/Preprocessor.cpp b/tools/versioner/src/Preprocessor.cpp
index 9eac2ab..4ee3446 100644
--- a/tools/versioner/src/Preprocessor.cpp
+++ b/tools/versioner/src/Preprocessor.cpp
@@ -140,15 +140,12 @@
   std::vector<std::string> expressions;
   static const std::vector<std::pair<std::string, std::set<Arch>>> arch_sets = {
     { "", supported_archs },
-    { "!defined(__LP64__)", { Arch::arm, Arch::mips, Arch::x86 } },
-    { "defined(__LP64__)", { Arch::arm64, Arch::mips64, Arch::x86_64 } },
-    { "defined(__mips__)", { Arch::mips, Arch::mips64 } },
+    { "!defined(__LP64__)", { Arch::arm, Arch::x86 } },
+    { "defined(__LP64__)", { Arch::arm64, Arch::x86_64 } },
   };
   std::map<Arch, std::string> individual_archs = {
     { Arch::arm, "defined(__arm__)" },
     { Arch::arm64, "defined(__aarch64__)" },
-    { Arch::mips, "defined(__mips__) && !defined(__LP64__)" },
-    { Arch::mips64, "defined(__mips__) && defined(__LP64__)" },
     { Arch::x86, "defined(__i386__)" },
     { Arch::x86_64, "defined(__x86_64__)" },
   };
diff --git a/tools/versioner/src/versioner.h b/tools/versioner/src/versioner.h
index a5f2c7d..5e53498 100644
--- a/tools/versioner/src/versioner.h
+++ b/tools/versioner/src/versioner.h
@@ -38,7 +38,7 @@
   { "sys/_system_properties.h", supported_archs },
 
   // time64.h #errors when included on LP64 archs.
-  { "time64.h", { Arch::arm64, Arch::mips64, Arch::x86_64 } },
+  { "time64.h", { Arch::arm64, Arch::x86_64 } },
 };
 
 static const std::unordered_set<std::string> missing_symbol_whitelist = {
