--- a/SConstruct
+++ b/SConstruct
@@ -1138,8 +1138,8 @@
     'help': 'generate calling conventiont according to selected mips ABI'
   },
   'mips_arch_variant': {
-    'values': ['mips32r2', 'mips32r1', 'loongson'],
-    'default': 'mips32r2',
+    'values': ['mips32r2', 'mips32r1', 'loongson', 'mips2'],
+    'default': 'mips2',
     'help': 'mips variant'
   },
   'compress_startup_data': {
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -64,7 +64,7 @@
     'v8_use_mips_abi_hardfloat%': 'true',
 
     # Default arch variant for MIPS.
-    'mips_arch_variant%': 'mips32r2',
+    'mips_arch_variant%': 'mips2',
 
     'v8_enable_debugger_support%': 1,
 
@@ -234,6 +234,9 @@
                   ['mips_arch_variant=="mips32r1"', {
                     'cflags': ['-mips32', '-Wa,-mips32'],
                   }],
+                  ['mips_arch_variant=="mips2"', {
+                    'cflags': ['-mips2', '-Wa,-mips2'],
+                  }],
                 ],
               }],
             ],
--- a/src/mips/constants-mips.h
+++ b/src/mips/constants-mips.h
@@ -42,7 +42,8 @@
 enum ArchVariants {
   kMips32r2,
   kMips32r1,
-  kLoongson
+  kLoongson,
+  kMips2
 };
 
 #ifdef _MIPS_ARCH_MIPS32R2
@@ -52,7 +53,7 @@
 // which predates (and is a subset of) the mips32r2 and r1 architectures.
   static const ArchVariants kArchVariant = kLoongson;
 #else
-  static const ArchVariants kArchVariant = kMips32r1;
+  static const ArchVariants kArchVariant = kMips2;
 #endif
 
 
