From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 256B1385843E; Thu, 2 Mar 2023 20:19:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 256B1385843E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677788361; bh=TP1OxNZ5EYYw1VvzxJ7tEnKiljlOpRL7f7qAGog8jO0=; h=From:To:Subject:Date:From; b=GaOnQ1XOmjIEKxlBnyFcnik+RwsuuuyCG7nU/GVGmc3DaCQXrF6BceZnrFauxtBiC ZLFusNkmX0esKFrXS2Nozfvg/OkOllSIrscrAcPB82E3bi92a+x1ZjGaYlEl4Ho3TB sBU6duVc9z3Q4lijYUPtVJgg8chZf3LWRlEma1/Y= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc] arm: Remove __builtin_arm_uqsub8 usage on string-fza.h X-Act-Checkin: glibc X-Git-Author: Adhemerval Zanella Netto X-Git-Refname: refs/heads/master X-Git-Oldrev: 90ae3bc393164e260269e9e1711f7ca4956596e9 X-Git-Newrev: 3a4781c16c680a2c5ab4585b4696f781898ab610 Message-Id: <20230302201921.256B1385843E@sourceware.org> Date: Thu, 2 Mar 2023 20:19:21 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3a4781c16c680a2c5ab4585b4696f781898ab610 commit 3a4781c16c680a2c5ab4585b4696f781898ab610 Author: Adhemerval Zanella Netto Date: Tue Feb 28 15:23:25 2023 -0300 arm: Remove __builtin_arm_uqsub8 usage on string-fza.h The __builtin_arm_uqsub8 is an internal GCC builtin which might change in future release (the correct way is to include "arm_acle.h" and use __uqsub8 ()). Since not all compilers support it, just use the inline assembler instead. Checked on armv7a-linux-gnueabihf. Reviewed-by: Wilco Dijkstra Diff: --- sysdeps/arm/armv6t2/string-fza.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sysdeps/arm/armv6t2/string-fza.h b/sysdeps/arm/armv6t2/string-fza.h index d85ce86434..fb75011991 100644 --- a/sysdeps/arm/armv6t2/string-fza.h +++ b/sysdeps/arm/armv6t2/string-fza.h @@ -33,13 +33,9 @@ find_zero_all (op_t x) /* Use unsigned saturated subtraction from 1 in each byte. That leaves 1 for every byte that was zero. */ op_t ones = repeat_bytes (0x01); -#if __GNUC_PREREQ (10, 0) - return __builtin_arm_uqsub8 (ones, x); -#else op_t ret; asm ("uqsub8 %0,%1,%2" : "=r"(ret) : "r"(ones), "r"(x)); return ret; -#endif } /* Identify bytes that are equal between X1 and X2. */