From f631341300abfea03a14b726c4221d5ed29d0650 Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 8 Jun 2023 02:06:42 -0700 Subject: [PATCH] Indicate that fallthrough is intentional in faiss (#2897) Summary: Pull Request resolved: https://github.com/facebookresearch/faiss/pull/2897 Differential Revision: D46385243 fbshipit-source-id: 28a27ad357280c15e397cde5bfc0af273672993b --- faiss/utils/distances_simd.cpp | 3 +++ faiss/utils/hamming_distance/avx2-inl.h | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/faiss/utils/distances_simd.cpp b/faiss/utils/distances_simd.cpp index 0e7a970999..e885eb121f 100644 --- a/faiss/utils/distances_simd.cpp +++ b/faiss/utils/distances_simd.cpp @@ -2176,10 +2176,13 @@ void pq2_8cents_table( switch (nout) { case 4: ip3.storeu(out + 3 * ldo); + [[fallthrough]]; case 3: ip2.storeu(out + 2 * ldo); + [[fallthrough]]; case 2: ip1.storeu(out + 1 * ldo); + [[fallthrough]]; case 1: ip0.storeu(out); } diff --git a/faiss/utils/hamming_distance/avx2-inl.h b/faiss/utils/hamming_distance/avx2-inl.h index b8d932b78e..83f55872ad 100644 --- a/faiss/utils/hamming_distance/avx2-inl.h +++ b/faiss/utils/hamming_distance/avx2-inl.h @@ -280,21 +280,27 @@ struct HammingComputerDefault { case 7: accu += popcount64(a64[i] ^ b64[i]); i++; + [[fallthrough]]; case 6: accu += popcount64(a64[i] ^ b64[i]); i++; + [[fallthrough]]; case 5: accu += popcount64(a64[i] ^ b64[i]); i++; + [[fallthrough]]; case 4: accu += popcount64(a64[i] ^ b64[i]); i++; + [[fallthrough]]; case 3: accu += popcount64(a64[i] ^ b64[i]); i++; + [[fallthrough]]; case 2: accu += popcount64(a64[i] ^ b64[i]); i++; + [[fallthrough]]; case 1: accu += popcount64(a64[i] ^ b64[i]); i++; @@ -306,18 +312,25 @@ struct HammingComputerDefault { switch (remainder8) { case 7: accu += hamdis_tab_ham_bytes[a[6] ^ b[6]]; + [[fallthrough]]; case 6: accu += hamdis_tab_ham_bytes[a[5] ^ b[5]]; + [[fallthrough]]; case 5: accu += hamdis_tab_ham_bytes[a[4] ^ b[4]]; + [[fallthrough]]; case 4: accu += hamdis_tab_ham_bytes[a[3] ^ b[3]]; + [[fallthrough]]; case 3: accu += hamdis_tab_ham_bytes[a[2] ^ b[2]]; + [[fallthrough]]; case 2: accu += hamdis_tab_ham_bytes[a[1] ^ b[1]]; + [[fallthrough]]; case 1: accu += hamdis_tab_ham_bytes[a[0] ^ b[0]]; + [[fallthrough]]; default: break; }