Fix sha1 dynamic dispatch issues.

1) We are calling sha1_block_data_order_avx when avx2 is enabled
We should be calling  sha1_block_data_order_avx2
2) Looks like clang doesn't define __BMI1__ and calls it simply
__BMI__, see https://godbolt.org/z/s8anxn9rc
This is less of an issue since we will fallback to dynamic dispatch
anyway.

Change-Id: I9821405444c2e39167f1423c5f08bfcbca1efa51
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/66827
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/crypto/fipsmodule/sha/sha1.c b/crypto/fipsmodule/sha/sha1.c
index 060baa4..70353a6 100644
--- a/crypto/fipsmodule/sha/sha1.c
+++ b/crypto/fipsmodule/sha/sha1.c
@@ -394,7 +394,7 @@
 #endif
 #if defined(SHA1_ASM_AVX2)
   if (sha1_avx2_capable()) {
-    sha1_block_data_order_avx(state, data, num);
+    sha1_block_data_order_avx2(state, data, num);
     return;
   }
 #endif
diff --git a/crypto/internal.h b/crypto/internal.h
index 7d65b5c..aa1436e 100644
--- a/crypto/internal.h
+++ b/crypto/internal.h
@@ -1446,7 +1446,7 @@
 // See Intel manual, volume 2A, table 3-8.
 
 OPENSSL_INLINE int CRYPTO_is_BMI1_capable(void) {
-#if defined(__BMI1__)
+#if defined(__BMI__)
   return 1;
 #else
   return (OPENSSL_get_ia32cap(2) & (1u << 3)) != 0;