Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp233909pxk; Tue, 1 Sep 2020 22:51:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxF7y+H7nZBqbjMiG6VcGdYIglTWlikFfyiBBAnl8LrLdgYCr8Dh59J6X2/yXb7U/NFPFOB X-Received: by 2002:a17:907:72c5:: with SMTP id du5mr1776127ejc.469.1599025887111; Tue, 01 Sep 2020 22:51:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599025887; cv=none; d=google.com; s=arc-20160816; b=f/dWrpDDrxCHY4a1lEXBDGZf/N7g+c1enZ7/78NHjBKfWsygzuiO88ltBrZiJFxnV/ R8Yrn8g1OPjVNDne+hBCKeWwsO7G4s7xCunZfOZm6lOUJSfWJhcnDxK5lF9TtixsCyMm 9WJD03qZyKMzGlu8M5h/efRlcm/paQbFEiDi+Rge3UC46Iv7a/ZyZxfBk0qR43tWCE+d lr2lljDfPsBLhw3y4BE7Tb2lMKVGQ16SESTk7Gvcsi7MjVWN/Uz7FS8MT0HmOxco/Gys 25pycTEIjUDlECPvjMgybKUIpNnqUwgfDTaTZqxInb6CKdKB7AbCFkxLxakkgT5FiM6r 3Wiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=73oP7CVmC7HM5f1hMiLAI67t0jOn31cICYYdA5QwIpI=; b=z6co2BY0vOvKF4C839I3v8DLavzW9FDcPzJtiBhpPahAnDHsMNv4aKzCp4T4NNDJVV TIWbQKtd6WlTc/gS5q9mOPDKLomDcxfneYZ3xTuivpHVgINNNz0aomtAg3ZvIsURHyYk PjbuXnuCWKcj9Dn6HZOeO0trwKiqQXZUjStOr7Cg6zgWHn+/YtqJ8M4S/1ZhihpIu9En ojg58Fp5ALRr3gvKUS5fDh4VC41m/tUFIGmrdztTEX8p+deOK8/Dh1N0v5nQm36MTZ2C 0p7FHYVdqe8GZoQjnU1ICxav1hKlpYDjCTSZe92YAVyT1V9C1jNj23MeHFBP9oSUp4em Aw+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=GifpBOwH; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b1si656459ejq.278.2020.09.01.22.50.50; Tue, 01 Sep 2020 22:51:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=GifpBOwH; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726021AbgIBFut (ORCPT + 99 others); Wed, 2 Sep 2020 01:50:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45692 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725774AbgIBFut (ORCPT ); Wed, 2 Sep 2020 01:50:49 -0400 Received: from mail-qt1-x843.google.com (mail-qt1-x843.google.com [IPv6:2607:f8b0:4864:20::843]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5DCC1C061244 for ; Tue, 1 Sep 2020 22:50:48 -0700 (PDT) Received: by mail-qt1-x843.google.com with SMTP id b3so2773900qtg.13 for ; Tue, 01 Sep 2020 22:50:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=73oP7CVmC7HM5f1hMiLAI67t0jOn31cICYYdA5QwIpI=; b=GifpBOwHse4rZVYrs6UhJsAc7j1tGGiBI5QDE1qiGPEHn2iRs5kXs1m6LH+h1pJPtF Q1lKq9Us+MBikCUPQ7ZbDgSacoA8A3JDDSPWHLmJ43FcZgOUxYvhWX4ruMGwBU+w++MT paKghEwlBMdqeXqyfB7bNYBa4iq0LvOfZOfCj8Bzih1hQtGlqefzGMulv/0hfu39WC76 dDDfqrwppyRpgTXpXQy1odObaEzpVy861nCicaURFzYQckjZx0TDQThD8ZbzTdR7xWLo 0p53MvCW06dN4rW2Ko+qgmFgaLsJWyT5gZ8Kc7mhptb/ShaYthrItKNqF4rursTkmCTZ jF8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=73oP7CVmC7HM5f1hMiLAI67t0jOn31cICYYdA5QwIpI=; b=K2odSvNT9eYXpzIJjdBMaX+TcRH+cxxpKWIoOEwdQGCCj9owNde+8R94se5rfH95cd w9YMb06mpIiWyCohevjSiBtEWdD+7S8EqgAPZsLLRBLW61QRyMQ16PYqoxsHsyspvq/s XUxG19kgt7EBfU+8HbqhVUapOG/cGA71EPkuRKrT8XpR5ILJvnLAV/y46nnx9ljrX7DY fYF4S1VplYdNFgbdN435JOAlREnyKGx3flhwJ9KH+kf27IPY7gk/KMAlMj1nsU4J/RgO S0wovtRCjt9H+UAtnNTABRjLXV6++RygWCFs4xO2gXx3Ttbm937fqkwZ5JtwfmbKYaO2 E5rA== X-Gm-Message-State: AOAM532qAIGCDXIFw5HNK+dD4UOkZZFRR/s10yTth1/K1OGeinq61S6g BYKmJLJBpvRADO/ccD3ojazSBduSbZMNRWxjbOU= X-Received: by 2002:ac8:1667:: with SMTP id x36mr5308320qtk.51.1599025847205; Tue, 01 Sep 2020 22:50:47 -0700 (PDT) MIME-Version: 1.0 References: <20200827173058.94519-1-ubizjak@gmail.com> In-Reply-To: From: Uros Bizjak Date: Wed, 2 Sep 2020 07:50:36 +0200 Message-ID: Subject: Re: [PATCH] crypto/x86: Use XORL r32,32 in curve25519-x86_64.c To: "Jason A. Donenfeld" Cc: Karthik Bhargavan , Chris.Hawblitzel@microsoft.com, Jonathan Protzenko , Aymeric Fromherz , Linux Crypto Mailing List , X86 ML , Herbert Xu , "David S. Miller" , Ard Biesheuvel Content-Type: text/plain; charset="UTF-8" Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Tue, Sep 1, 2020 at 9:12 PM Jason A. Donenfeld wrote: > > On Tue, Sep 1, 2020 at 8:13 PM Jason A. Donenfeld wrote: > > operands are the same. Also, have you seen any measurable differences > > when benching this? I can stick it into kbench9000 to see if you > > haven't looked yet. > > On a Skylake server (Xeon Gold 5120), I'm unable to see any measurable > difference with this, at all, no matter how much I median or mean or > reduce noise by disabling interrupts. > > One thing that sticks out is that all the replacements of r8-r15 by > their %r8d-r15d counterparts still have the REX prefix, as is > necessary to access those registers. The only ones worth changing, > then, are the legacy registers, and on a whole, this amounts to only > 48 bytes of difference. The patch implements one of x86 target specific optimizations, performed by gcc. The optimization results in code size savings of one byte, where REX prefix is omitted with legacy registers, but otherwise should have no measurable runtime effect. Since gcc applies this optimization universally to all integer registers, I took the same approach and implemented the same change to legacy and REX registers. As measured above, 48 bytes saved is a good result for such a trivial optimization. Uros.