Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp234492pxk; Tue, 1 Sep 2020 22:53:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwd8btPO4VV0g5BlIoJsTMEoxdArIcKQC4e4yjpzfDxk6On5X2tiXqtWQMF4tAiAzVnDMpm X-Received: by 2002:a50:ed8d:: with SMTP id h13mr4827499edr.50.1599025985479; Tue, 01 Sep 2020 22:53:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599025985; cv=none; d=google.com; s=arc-20160816; b=Hmhm7NdMQmLp00xyx9d4nshoK4MOCd1B3lRpnKMuKF9FbtYGPwo/rBxdTc85JK14xU 5LZ5zuP14z6JNA4/zuShZBa0wMOkjjLVWbRkkiYHiWWI+J8WT8l8BZKx5O/tansCHsAe t2pOV6P3CCgeurYeT29kNDIg9jqUdIPXiLOJ+8nMpDg0MtKCF54DTzJLZAfihzF6EVt6 Fo1A8tQJAqHJnwKk1snQYVFbkxOskSauPJ2qPoUOLJeXCu4RQPsN8eFhm7mBiAMp9Eqk ui0WguIA0SYSLa/Ln+47Vidsmlf7O3JeQRnAVDDgYebZJTAzjOQ/xnTEi2eSAyEl909n as0A== 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=Q+PJSvdhXLudZXyy/3pKaI3QkaElzXMSL36DUdCZ5fI=; b=n0/Gl2hF4q1nMUopvls1/NaR66GKWltsYuynVBujlhygptSJ8o5rHtLHPIxRv9sPJK Nel95KNP1GAB0xNpTTjZM0QcS4dn3rDCTtqfKKsXhANo9Jg3RFvK6jj3vrAeP0H1YVwU T+vtMWyIBeV74N6c50fTLwBreCM7L1aNajBZR8WRE63sktZQvMc713F14ZUKlDOS/3Fq P9ola/CW4eCCN/E25esbFVmCYY3fUZ56iGjlZcYCi6Fuu3Elxkj0JWDva4pbQhXEGrDC y+qWe4gNsg0y71l3sP8T81R8KGgU7ArTROOdauQ2tjvLn3D/ER2W6maNo+nr95pQMlu0 M3+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Y3h2fVMF; 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.52.40; Tue, 01 Sep 2020 22:53:05 -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=Y3h2fVMF; 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 S1726021AbgIBFwj (ORCPT + 99 others); Wed, 2 Sep 2020 01:52:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725774AbgIBFwh (ORCPT ); Wed, 2 Sep 2020 01:52:37 -0400 Received: from mail-qk1-x742.google.com (mail-qk1-x742.google.com [IPv6:2607:f8b0:4864:20::742]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7991C061244 for ; Tue, 1 Sep 2020 22:52:37 -0700 (PDT) Received: by mail-qk1-x742.google.com with SMTP id o64so3317983qkb.10 for ; Tue, 01 Sep 2020 22:52:37 -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=Q+PJSvdhXLudZXyy/3pKaI3QkaElzXMSL36DUdCZ5fI=; b=Y3h2fVMF4kLmI1ZX1gfGoyTT1iFHuGG3ECkmrExLD3nI/BlakOBMEDceWLwfaOiwPC u4yiB1V82J0DPo+qopaUcspfAV1zyU32F7Ke6nGg5qMmgZwk55zlLTqRe0mxEwtND6vp MJ82tourCtziChkp1SJObHqcKglf4o67Vrr/MLae5wAK6nAzCfqTqsgL19nBqb0oRO2f RdKgSceqRDaDZaZO5aa67HNJ/EGaDnG3hEdCfef4y5PBWB9wvlYiDgHwEQwadGtQD1h4 F+xFd2F+zzxl6SprM05FuQzEbVgkLtUMIBwpl41Evf7D0sZeCUmN3Ih/86SLscSnoxUX 7vSg== 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=Q+PJSvdhXLudZXyy/3pKaI3QkaElzXMSL36DUdCZ5fI=; b=PhmsZgRD7X2/XuJ6RAmtChD8/EvGX5KgDgRlsSWPcPP4fwv1s8dfXEmxtU/PD51RCR qmO0eE84qW0aRqqNjBSSkCZeBHjaa7uAPNP9OJCDFEKXFZwnflk2k6jK5S86Pa26Vdo3 D00khnfxknZVzLvPRvTjkO191oj30shRSUlK6047+vHaIPED1T4bMJ/T6ybShyIXr6Ot jzdRuvTM/jH1KcIl0T0h8CJvFUVLKJ+M/RgBqiF58rkwHZCV0/CPTPVPJnpx5YkhpU77 FK0I+BcDYAALejBy+mi4XOxfU51r+hJMreaPhuSDmIhrxBzxnftqF1ddmf2RQpCYUgdY u6UQ== X-Gm-Message-State: AOAM530/Xm+CUMhWMQ6Qt1V2j4EiLaZREXnAlcDsbemULxlnv3jXtt55 /4RwGcrxCzCvDypqZ0p76BZpNJwTuPICTdfClJI= X-Received: by 2002:a37:97c6:: with SMTP id z189mr5589295qkd.74.1599025956912; Tue, 01 Sep 2020 22:52:36 -0700 (PDT) MIME-Version: 1.0 References: <20200827173831.95039-1-ubizjak@gmail.com> <20200901191611.GA869399@zx2c4.com> In-Reply-To: <20200901191611.GA869399@zx2c4.com> From: Uros Bizjak Date: Wed, 2 Sep 2020 07:52:26 +0200 Message-ID: Subject: Re: [PATCH] crypto/x86: Use XORL r32,32 in poly1305-x86_64-cryptogams.pl To: "Jason A. Donenfeld" Cc: Andy Polyakov , Linux Crypto List , X86 ML , Herbert Xu , "David S. Miller" 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:16 PM Jason A. Donenfeld wrote: > > Hi Uros, > > Any benchmarks for this? Seems like it's all in initialization code, > right? I'm CC'ing Andy into this. This patch should have no performance effect, it saves REX prefix byte when the optimization is applied to legacy registers. Uros. > Jason > > On Thu, Aug 27, 2020 at 07:38:31PM +0200, Uros Bizjak wrote: > > x86_64 zero extends 32bit operations, so for 64bit operands, > > XORL r32,r32 is functionally equal to XORQ r64,r64, but avoids > > a REX prefix byte when legacy registers are used. > > > > Signed-off-by: Uros Bizjak > > Cc: Herbert Xu > > Cc: "David S. Miller" > > --- > > arch/x86/crypto/poly1305-x86_64-cryptogams.pl | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/arch/x86/crypto/poly1305-x86_64-cryptogams.pl b/arch/x86/crypto/poly1305-x86_64-cryptogams.pl > > index 137edcf038cb..7d568012cc15 100644 > > --- a/arch/x86/crypto/poly1305-x86_64-cryptogams.pl > > +++ b/arch/x86/crypto/poly1305-x86_64-cryptogams.pl > > @@ -246,7 +246,7 @@ $code.=<<___ if (!$kernel); > > ___ > > &declare_function("poly1305_init_x86_64", 32, 3); > > $code.=<<___; > > - xor %rax,%rax > > + xor %eax,%eax > > mov %rax,0($ctx) # initialize hash value > > mov %rax,8($ctx) > > mov %rax,16($ctx) > > @@ -2853,7 +2853,7 @@ $code.=<<___; > > .type poly1305_init_base2_44,\@function,3 > > .align 32 > > poly1305_init_base2_44: > > - xor %rax,%rax > > + xor %eax,%eax > > mov %rax,0($ctx) # initialize hash value > > mov %rax,8($ctx) > > mov %rax,16($ctx) > > @@ -3947,7 +3947,7 @@ xor128_decrypt_n_pad: > > mov \$16,$len > > sub %r10,$len > > xor %eax,%eax > > - xor %r11,%r11 > > + xor %r11d,%r11d > > .Loop_dec_byte: > > mov ($inp,$otp),%r11b > > mov ($otp),%al > > @@ -4085,7 +4085,7 @@ avx_handler: > > .long 0xa548f3fc # cld; rep movsq > > > > mov $disp,%rsi > > - xor %rcx,%rcx # arg1, UNW_FLAG_NHANDLER > > + xor %ecx,%ecx # arg1, UNW_FLAG_NHANDLER > > mov 8(%rsi),%rdx # arg2, disp->ImageBase > > mov 0(%rsi),%r8 # arg3, disp->ControlPc > > mov 16(%rsi),%r9 # arg4, disp->FunctionEntry > > -- > > 2.26.2 > > > > -- > Jason A. Donenfeld > Deep Space Explorer > fr: +33 6 51 90 82 66 > us: +1 513 476 1200 > www.jasondonenfeld.com > www.zx2c4.com > zx2c4.com/keys/AB9942E6D4A4CFC3412620A749FC7012A5DE03AE.asc