A few fixes for 32-bit compiles

- Change the HAVE_SSE to HAVE_SSE4_2 and only provide it on
  x86-64.
- Cast two values that otherwise cause the compiler to warn on 32-bit

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/arch/arch-x86.h b/arch/arch-x86.h
index bffd1dd..2e803cb 100644
--- a/arch/arch-x86.h
+++ b/arch/arch-x86.h
@@ -48,7 +48,6 @@
 }
 
 #define ARCH_HAVE_FFZ
-#define ARCH_HAVE_SSE
 #define ARCH_HAVE_CPU_CLOCK
 
 #endif
diff --git a/arch/arch-x86_64.h b/arch/arch-x86_64.h
index 3ea8070..6dbeee0 100644
--- a/arch/arch-x86_64.h
+++ b/arch/arch-x86_64.h
@@ -48,7 +48,7 @@
 }
 
 #define ARCH_HAVE_FFZ
-#define ARCH_HAVE_SSE
+#define ARCH_HAVE_SSE4_2
 #define ARCH_HAVE_CPU_CLOCK
 
 #endif
diff --git a/crc/crc32c-intel.c b/crc/crc32c-intel.c
index 77d6df4..969a037 100644
--- a/crc/crc32c-intel.c
+++ b/crc/crc32c-intel.c
@@ -18,7 +18,7 @@
  * Volume 2A: Instruction Set Reference, A-M
  */
 
-#ifdef ARCH_HAVE_SSE
+#ifdef ARCH_HAVE_SSE4_2
 
 #if BITS_PER_LONG == 64
 #define REX_PRE "0x48, "
diff --git a/crc/crc32c.h b/crc/crc32c.h
index 50f3665..596fd6c 100644
--- a/crc/crc32c.h
+++ b/crc/crc32c.h
@@ -22,7 +22,7 @@
 
 extern uint32_t crc32c(unsigned char const *, unsigned long);
 
-#ifdef ARCH_HAVE_SSE
+#ifdef ARCH_HAVE_SSE4_2
 extern uint32_t crc32c_intel(unsigned char const *, unsigned long);
 extern int crc32c_intel_works(void);
 #else
diff --git a/engines/binject.c b/engines/binject.c
index 0bdaa24..f7e56eb 100644
--- a/engines/binject.c
+++ b/engines/binject.c
@@ -146,7 +146,7 @@
 		for (i = 0; i < events; i++) {
 			struct b_user_cmd *buc = (struct b_user_cmd *) buf + i;
 
-			bd->events[ev_index] = (struct io_u *) buc->usr_ptr;
+			bd->events[ev_index] = (struct io_u *) (unsigned long) buc->usr_ptr;
 			ev_index++;
 		}
 	}
diff --git a/verify.c b/verify.c
index f537553..ea1a911 100644
--- a/verify.c
+++ b/verify.c
@@ -501,7 +501,7 @@
 	log_err("trim: verify failed at file %s offset %llu, length %lu"
 		", block offset %lu\n",
 			io_u->file->file_name, io_u->offset, io_u->buflen,
-			(p - io_u->buf));
+			(unsigned long) (p - io_u->buf));
 	return ret;
 }