Fixed BMI behavior on x86 and x32 targets, reported by @tycho (#178)
diff --git a/Makefile b/Makefile
index 3f32dee..0f6363c 100644
--- a/Makefile
+++ b/Makefile
@@ -54,6 +54,9 @@
 zstdprogram:
 	$(MAKE) -C $(PRGDIR)
 
+test:
+	$(MAKE) -C $(PRGDIR) $@
+
 clean:
 	@$(MAKE) -C $(ZSTDDIR) $@ > $(VOID)
 	@$(MAKE) -C $(PRGDIR) $@ > $(VOID)
@@ -75,9 +78,6 @@
 travis-install:
 	$(MAKE) install PREFIX=~/install_test_dir
 
-test:
-	$(MAKE) -C $(PRGDIR) $@
-
 cmaketest:
 	cd contrib/cmake ; cmake . ; $(MAKE)
 
@@ -88,6 +88,15 @@
 gpptest: clean
 	$(MAKE) all CC=g++ CFLAGS="-O3 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror"
 
+bmix64test: clean
+	CFLAGS="-O3 -mbmi -Werror" $(MAKE) -C $(PRGDIR) test
+
+bmix32test: clean
+	CFLAGS="-O3 -mbmi -mx32 -Werror" $(MAKE) -C $(PRGDIR) test
+
+bmi32test: clean
+	CFLAGS="-O3 -mbmi -m32 -Werror" $(MAKE) -C $(PRGDIR) test
+
 armtest: clean
 	$(MAKE) -C $(PRGDIR) datagen   # use native, faster
 	$(MAKE) -C $(PRGDIR) test CC=arm-linux-gnueabi-gcc ZSTDRTTEST= MOREFLAGS="-Werror -static"