From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79B521375 for ; Mon, 25 Jul 2022 12:59:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3CD26C341C6; Mon, 25 Jul 2022 12:59:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1658753952; bh=qZ7cSckGA22g2DQPcAkq2U832I1kC6AlyyO4svOJTf8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=aY6XTKO0rcCik/LByRoaweygcgBFiODLB65LIAIn4VKqiMBf1Gm4WoAnQsenCBE72 aIjvCNLtIOvlA+RnLyKbgsuwlE8uEZmUalhGt9q4pV3U+f+sefIteBRAOOLJnrabUg 1qnCumEFUGO97fI+9925QLaGYQqUya365wvI9L0g= Date: Mon, 25 Jul 2022 14:59:07 +0200 From: Greg Kroah-Hartman To: Ard Biesheuvel Cc: "Jason A. Donenfeld" , kernel test robot , "Justin M. Forbes" , llvm@lists.linux.dev, kbuild-all@lists.01.org, Linux Kernel Mailing List , "Jason A. Donenfeld" Subject: Re: [linux-stable-rc:linux-5.15.y 6874/8723] arch/arm/lib/xor-neon.c:30:2: warning: This code requires at least version 4.6 of GCC Message-ID: References: <202207250449.BYMZbIA2-lkp@intel.com> Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Mon, Jul 25, 2022 at 02:41:42PM +0200, Ard Biesheuvel wrote: > On Mon, 25 Jul 2022 at 10:49, Greg Kroah-Hartman > wrote: > > > > On Mon, Jul 25, 2022 at 07:42:07AM +0200, Ard Biesheuvel wrote: > > > On Mon, 25 Jul 2022 at 00:40, Jason A. Donenfeld wrote: > > > > > > > > Hi Ard, > > > > > > > > On Mon, Jul 25, 2022 at 04:14:48AM +0800, kernel test robot wrote: > > > > > All warnings (new ones prefixed by >>): > > > > > > > > > > >> arch/arm/lib/xor-neon.c:30:2: warning: This code requires at least version 4.6 of GCC [-W#warnings] > > > > > #warning This code requires at least version 4.6 of GCC > > > > > ^ > > > > > 1 warning generated. > > > > > > > > > > > > > > > vim +30 arch/arm/lib/xor-neon.c > > > > > > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 16 > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 17 /* > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 18 * Pull in the reference implementations while instructing GCC (through > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 19 * -ftree-vectorize) to attempt to exploit implicit parallelism and emit > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 20 * NEON instructions. > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 21 */ > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 22 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 23 #pragma GCC optimize "tree-vectorize" > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 24 #else > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 25 /* > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 26 * While older versions of GCC do not generate incorrect code, they fail to > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 27 * recognize the parallel nature of these functions, and emit plain ARM code, > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 28 * which is known to be slower than the optimized ARM code in asm-arm/xor.h. > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 29 */ > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 @30 #warning This code requires at least version 4.6 of GCC > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 31 #endif > > > > > 01956597cbc46d Ard Biesheuvel 2013-05-17 32 > > > > > > > > Does this file need a depends on ≥4.6 thing in Kconfig? Or is something > > > > else happening here since 4.6 isn't even supported by the kernel these > > > > days? > > > > > > > > > > Hi Jason, > > > > > > This is explained/fixed in > > > > > > commit a69cb445f7d129abf7c50d48c8a8eca7c8d5df15 > > > Author: Ard Biesheuvel > > > Date: Sat Feb 5 16:23:46 2022 +0100 > > > > > > crypto: arm/xor - make vectorized C code Clang-friendly > > > > > > The ARM version of the accelerated XOR routines are simply the 8-way C > > > routines passed through the auto-vectorizer with SIMD codegen enabled. > > > This used to require GCC version 4.6 at least, but given that 5.1 is now > > > the baseline, this check is no longer necessary, and actually > > > misidentifies Clang as GCC < 4.6 as Clang defines the GCC major/minor as > > > well, but makes no attempt at doing this in a way that conveys feature > > > parity with a certain version of GCC (which would not be a great idea in > > > the first place). > > > > > > which landed in v5.18. Note that the patch depends on its parent, > > > which touches many different architectures, so it may not be > > > backportable cleanly. > > > > I would love to backport this as it bugs me to no end on some various > > gerrit systems all the time. I'll look into it later this week unless > > someone beats me to it :) > > > > If backporting is an issue, we could just drop this warning - GCC > before 4.6 hasn't been supported for a while anyway, and Clang never > had the SIMD accelerated XOR to begin with (it needs the __restrict > annotations that the parent patch introduces) I would love to drop the warning, as it triggers when clang tries to build this file. thanks, greg k-h