Fix hardclock with some versions of mingw64

Backport of 383433535 from the 1.3 branch
diff --git a/ChangeLog b/ChangeLog
index 69ecd60..3a4522c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,8 @@
      crash it remotely (found by Caj Larsson).
 
 Bugfix
+   * Fix hardclock() (only used in the benchmarking program) with some
+     versions of mingw64 (found by kxjhlele).
    * Fix warnings from mingw64 in timing.c (found by kxjklele).
    * Fix potential unintended sign extension in asn1_get_len() on 64-bit
      platforms (found with Coverity Scan).
diff --git a/library/timing.c b/library/timing.c
index 1ba02fe..e8be1c8 100644
--- a/library/timing.c
+++ b/library/timing.c
@@ -65,8 +65,10 @@
 }
 #endif
 
+/* some versions of mingw-64 have 32-bit longs even on x84_64 */
 #if !defined(POLARSSL_HAVE_HARDCLOCK) && defined(POLARSSL_HAVE_ASM) &&  \
-    defined(__GNUC__) && defined(__i386__)
+    defined(__GNUC__) && ( defined(__i386__) || (                       \
+    ( defined(__amd64__) || defined( __x86_64__) ) && __SIZEOF_LONG__ == 4 ) )
 
 #define POLARSSL_HAVE_HARDCLOCK