Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oSiO2-0001qf-J2 for pgsql-hackers@arkaria.postgresql.org; Mon, 29 Aug 2022 17:17:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oSiO0-0004Oj-Gv for pgsql-hackers@arkaria.postgresql.org; Mon, 29 Aug 2022 17:17:20 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oSiO0-0004OY-6V for pgsql-hackers@lists.postgresql.org; Mon, 29 Aug 2022 17:17:20 +0000 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oSiNw-0006iG-FG for pgsql-hackers@postgresql.org; Mon, 29 Aug 2022 17:17:19 +0000 Received: by mail-pf1-x42f.google.com with SMTP id y29so4762861pfq.0 for ; Mon, 29 Aug 2022 10:17:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc; bh=9V3ph0mCvlKrxVF2kjwCjrJ9uAqea01JH8IzGByb1Dk=; b=Taw8n2Ul/iY6MYLyZe7yiZse7OHmUVLqKNk7yGtv8KH4sUgh7m6n0B9Or329p7hI1u egkjMUTVuUqTEmNSKXONgvvZW+xQDcnTgUjwysGUk1I6DGtBnDQGq7zwTTqBtlllDrCJ uv0Ttj3/f3XfTvAD3m9i3o7YVt1GcuHJhSH87+TRstcfqiqFWEPuOsV07A7zB+6rpGk3 3VDZIaRNzEUTLhk62m7LqTjp0ULGf/dHMOMWnjMuWNTt9OysN/2x8GIS9FW9P4KXkbSp 6+/LNf1lZ++4v6P0wYkg1rq/M1WDm6lyAUT7vxqwbqTkYrWWY4LA80E1s4xZZ6zhXeIk /6Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc; bh=9V3ph0mCvlKrxVF2kjwCjrJ9uAqea01JH8IzGByb1Dk=; b=GrwYRatr8z9nOiJqYjxVMJ/otHnppg6iCZcFJkT6pSqCqvI3usGZGnFu14j6GcZRI+ s0UAqAbCpFveFePXUAw7zrJdTUKyPNUuvS2s6Y8JCffAEYuDxwi43h1Drgkm+WA2FQVx sqWrviN9ZKN+QcwplAXrKh3uORn20DUarycRHE5kGP9fG7J0/nlto987pkhIw0fXv29s rTNxsN5QXDZxO+kq6R1o58x7bE4gDRudvN/gzvSeBVa8dH72M69oIV3twORj6g39QOLy kDXd+/XoGd8Xsv9gNjGeJL4a9lThgk7Zw1XZ+dNQkZjKCELYDsNI4yzoROx5ez9V7C8y gS5Q== X-Gm-Message-State: ACgBeo09Jj0fVwqxXh8oeURkOKh0abIWNZzpceQj25F4bL17awvvDytN luCkyR294RSbV2WuQOSzQkU= X-Google-Smtp-Source: AA6agR7cPsThUhm/lOCKvBsl6Mciw4HmXNdQTCyW+H6YqNJGsjfTEMkM5apYVMr6Sshp1NfjlrmBrQ== X-Received: by 2002:a63:fa53:0:b0:42c:18d3:6a6 with SMTP id g19-20020a63fa53000000b0042c18d306a6mr4904578pgk.79.1661793434541; Mon, 29 Aug 2022 10:17:14 -0700 (PDT) Received: from nathanxps13 ([50.47.162.83]) by smtp.gmail.com with ESMTPSA id g12-20020a1709026b4c00b00172b5d1e054sm7799972plt.17.2022.08.29.10.17.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Aug 2022 10:17:13 -0700 (PDT) Date: Mon, 29 Aug 2022 10:17:12 -0700 From: Nathan Bossart To: John Naylor Cc: Thomas Munro , Andres Freund , pgsql-hackers Subject: Re: use ARM intrinsics in pg_lfind32() where available Message-ID: <20220829171712.GA509233@nathanxps13> References: <20220826182403.GA1917683@nathanxps13> <20220827221234.GA15951@nathanxps13> <20220827230049.GA111000@nathanxps13> <20220828035839.GA211073@nathanxps13> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="FL5UXtIhxfXey3p5" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --FL5UXtIhxfXey3p5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Aug 29, 2022 at 05:49:46PM +0700, John Naylor wrote: > Bowerbird just reported the same error, so I went ahead and pushed a > fix with this. Thanks! I've attached a follow-up patch with a couple of small suggestions. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com --FL5UXtIhxfXey3p5 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="nitpicks.patch" diff --git a/src/include/port/simd.h b/src/include/port/simd.h index 0ff1549083..745890f77f 100644 --- a/src/include/port/simd.h +++ b/src/include/port/simd.h @@ -77,6 +77,9 @@ static inline bool vector8_has(const Vector8 v, const uint8 c); static inline bool vector8_has_zero(const Vector8 v); static inline bool vector8_has_le(const Vector8 v, const uint8 c); static inline bool vector8_is_highbit_set(const Vector8 v); +#ifndef USE_NO_SIMD +static inline bool vector32_is_highbit_set(const Vector32 v); +#endif /* arithmetic operations */ static inline Vector8 vector8_or(const Vector8 v1, const Vector8 v2); @@ -88,7 +91,7 @@ static inline Vector8 vector8_ssub(const Vector8 v1, const Vector8 v2); /* * comparisons between vectors * - * Note: These return a vector rather than booloan, which is why we don't + * Note: These return a vector rather than boolean, which is why we don't * have non-SIMD implementations. */ #ifndef USE_NO_SIMD --FL5UXtIhxfXey3p5--