return false;
 }
 
+/*
+ * pg_lfind32_one_by_one_helper
+ *
+ * Searches the array of integers one-by-one.  The caller is responsible for
+ * ensuring that there are at least "nelem" integers in the array.
+ */
+static inline bool
+pg_lfind32_one_by_one_helper(uint32 key, const uint32 *base, uint32 nelem)
+{
+       for (uint32 i = 0; i < nelem; i++)
+       {
+               if (key == base[i])
+                       return true;
+       }
+
+       return false;
+}
+
 #ifndef USE_NO_SIMD
 /*
  * pg_lfind32_simd_helper
  * ensuring that there are at least 4-registers-worth of integers remaining.
  */
 static inline bool
-pg_lfind32_simd_helper(const Vector32 keys, uint32 *base)
+pg_lfind32_simd_helper(const Vector32 keys, const uint32 *base)
 {
        const uint32 nelem_per_vector = sizeof(Vector32) / sizeof(uint32);
        Vector32        vals1,
  * return false.
  */
 static inline bool
-pg_lfind32(uint32 key, uint32 *base, uint32 nelem)
+pg_lfind32(uint32 key, const uint32 *base, uint32 nelem)
 {
-       uint32          i = 0;
-
 #ifndef USE_NO_SIMD
+       uint32          i = 0;
 
        /*
         * For better instruction-level parallelism, each loop iteration operates
        const uint32 tail_idx = nelem & ~(nelem_per_iteration - 1);
 
 #if defined(USE_ASSERT_CHECKING)
-       bool            assert_result = false;
-
-       /* pre-compute the result for assert checking */
-       for (int j = 0; j < nelem; j++)
-       {
-               if (key == base[j])
-               {
-                       assert_result = true;
-                       break;
-               }
-       }
+       bool            assert_result = pg_lfind32_one_by_one_helper(key, base, nelem);
 #endif
 
        /*
-        * If there aren't enough elements for the SIMD code, jump to the standard
+        * If there aren't enough elements for the SIMD code, use the standard
         * one-by-one linear search code.
         */
        if (nelem < nelem_per_iteration)
-               goto one_by_one;
+               return pg_lfind32_one_by_one_helper(key, base, nelem);
 
        /*
         * Process as many elements as possible with a block of 4 registers.
         */
        Assert(assert_result == pg_lfind32_simd_helper(keys, &base[nelem - nelem_per_iteration]));
        return pg_lfind32_simd_helper(keys, &base[nelem - nelem_per_iteration]);
-
-one_by_one:
-
-#endif                                                 /* ! USE_NO_SIMD */
-
+#else
        /* Process the elements one at a time. */
-       for (; i < nelem; i++)
-       {
-               if (key == base[i])
-               {
-#ifndef USE_NO_SIMD
-                       Assert(assert_result == true);
+       return pg_lfind32_one_by_one_helper(key, base, nelem);
 #endif
-                       return true;
-               }
-       }
-
-#ifndef USE_NO_SIMD
-       Assert(assert_result == false);
-#endif
-       return false;
 }
 
 #endif                                                 /* PG_LFIND_H */