From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 9601B385040A for ; Fri, 3 Feb 2023 23:26:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9601B385040A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ej1-x630.google.com with SMTP id lu11so19599161ejb.3 for ; Fri, 03 Feb 2023 15:26:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/ArUC33yMdaJ11YsngtGzEUh9r9XoX4DBM8yUoT/pz0=; b=ox/DvLTw+fkanTgi5rM3GEh3r3m7B7XJsQGYmsIzIhiNvGcOAf+VaLm6X0mO/tCK6H LyOQ81u6UuZb/6aeU9fVXp9EpciSjfrzgMEHBD+uWvu9d4eDyXGq3SfXJchf5HEQYY0p TDn8mZL+C5AgeDrl1vapB8dHNMadORfpSVhTE8q/0Nehi1ya6gWvfyqpGU5ZM0tNARWI 0NVInrI/6LDCtD5lLfWgK26LjMz38cGSF2whL2j8zhXJvTiV3sRDR7frsj3Ixjw0k83B OQ+RWdBtEHjPGB1AnFl0QNTnNSOQOiyjmmkYMHbv7UMVS6q+XxsaP4Q46ig3C0DBhDdS 0rqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/ArUC33yMdaJ11YsngtGzEUh9r9XoX4DBM8yUoT/pz0=; b=DwYEqzNOmqrQ5H7ZrWrDBgSjbZuAIgee5woSlmE8r0h818hlafb5RIJTw9iY7vYWEY Egnqi+2YpTb7CPaPGg+K7frwCfcMxp2qtuiLKEa9nVz8Mku5YJdSXFK6r9OqlurcXlqr bOdfx9nGwWNNcRmQllP4ilObjgR4xxcop9FEQPva6vjw8kapkAMzP/PYCFZ9W+7ESo5v kXZu4kdWdG5fcOolynuYCEx8iNtJs0lxx7YuHQKqww1AOW86OEuWN+6vesK3lGZ1PjmQ Pm7ge3vlxHoC/PHTQqD1oYyGMaeF9mRTXUW8tzEB4OgCj2BaVXHv5xMvYPEgFV5jj8kp KzSA== X-Gm-Message-State: AO0yUKVCmYtNm86e7QZjwFeSAYFoOVMGuRfi4R3jpE+7oQHWVVB7q9Wa knbYmgAMuRIlUArZG1PMC+yeFAmX2q9vkW9qWIgYACu/+VI= X-Google-Smtp-Source: AK7set8pkOfQUwJ9r8VmeK9bwPf7vjNyyJMJLcrhOLV/W6IiKIZ/EU/7MuzZfiYXwSnWEDzGN6ifPSn9I046vwbp8Kk= X-Received: by 2002:a17:907:7670:b0:87b:db55:f3e5 with SMTP id kk16-20020a170907767000b0087bdb55f3e5mr3501424ejc.289.1675466802221; Fri, 03 Feb 2023 15:26:42 -0800 (PST) MIME-Version: 1.0 References: <20230202181149.2181553-1-adhemerval.zanella@linaro.org> <20230202181149.2181553-11-adhemerval.zanella@linaro.org> In-Reply-To: <20230202181149.2181553-11-adhemerval.zanella@linaro.org> From: Noah Goldstein Date: Fri, 3 Feb 2023 17:26:30 -0600 Message-ID: Subject: Re: [PATCH v12 10/31] string: Improve generic strcpy To: Adhemerval Zanella Cc: libc-alpha@sourceware.org, Richard Henderson , Jeff Law , Xi Ruoyao Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Thu, Feb 2, 2023 at 12:12 PM Adhemerval Zanella wrote: > > Now that stpcpy is vectorized based on op_t, it should be better to > call it instead of strlen plus memcpy. > > Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64-linux-gnu, > and powerpc-linux-gnu by removing the arch-specific assembly > implementation and disabling multi-arch (it covers both LE and BE > for 64 and 32 bits). > > Reviewed-by: Richard Henderson > --- > string/strcpy.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/string/strcpy.c b/string/strcpy.c > index 0345c71d15..d945d8fdf0 100644 > --- a/string/strcpy.c > +++ b/string/strcpy.c > @@ -19,6 +19,9 @@ > #include > > #undef strcpy > +/* Disable internal stpcpy optimization, otherwise the __stpcpy might it > + generate a strcpy call. */ > +#undef __stpcpy > > #ifndef STRCPY > # define STRCPY strcpy > @@ -28,6 +31,7 @@ > char * > STRCPY (char *dest, const char *src) > { > - return memcpy (dest, src, strlen (src) + 1); > + __stpcpy (dest, src); > + return dest; > } > libc_hidden_builtin_def (strcpy) > -- > 2.34.1 > LGTM. Reviewed-by: Noah Goldstein