Fix mips64 bignum implementation

- Use correct mips64 define (__mips64, not __mips64__).
- Added mips64 to the list of arches supporting 64-bit ints.
diff --git a/ChangeLog b/ChangeLog
index b13d757..597d144 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -24,6 +24,7 @@
      in 1.2.12).
    * Fix unchecked return code in x509_crt_parse_path() on Windows (found by
      Peter Vaskovic).
+   * Fix assembly selection for MIPS64 (thanks to James Cowgill).
 
 Changes
    * Blind RSA private operations even when POLARSSL_RSA_NO_CRT is defined.
diff --git a/include/polarssl/bignum.h b/include/polarssl/bignum.h
index 1b40100..ddcc0dd 100644
--- a/include/polarssl/bignum.h
+++ b/include/polarssl/bignum.h
@@ -133,7 +133,7 @@
           defined(__ppc64__) || defined(__powerpc64__) || \
           defined(__ia64__)  || defined(__alpha__)     || \
           (defined(__sparc__) && defined(__arch64__))  || \
-          defined(__s390x__) ) )
+          defined(__s390x__) || defined(__mips64) ) )
        typedef  int64_t t_sint;
        typedef uint64_t t_uint;
        typedef unsigned int t_udbl __attribute__((mode(TI)));
diff --git a/include/polarssl/bn_mul.h b/include/polarssl/bn_mul.h
index e888cc2..ca7d896 100644
--- a/include/polarssl/bn_mul.h
+++ b/include/polarssl/bn_mul.h
@@ -680,7 +680,7 @@
     );
 #endif /* Alpha */
 
-#if defined(__mips__) && !defined(__mips64__)
+#if defined(__mips__) && !defined(__mips64)
 
 #define MULADDC_INIT                    \
     asm(                                \