GNU bug report logs - #63079
coreutils-9.3: build failure with -mno-ssse3

Previous Next

Package: coreutils;

Reported by: Jaroslav Skarvada <jskarvad <at> redhat.com>

Date: Tue, 25 Apr 2023 23:24:02 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 63079-done <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: Jaroslav Skarvada <jskarvad <at> redhat.com>, 63079-done <at> debbugs.gnu.org
Subject: Re: bug#63079: coreutils-9.3: build failure with -mno-ssse3
Date: Wed, 26 Apr 2023 16:23:21 +0100
On 26/04/2023 00:22, Jaroslav Skarvada wrote:
> Hi,
> 
> building with the -mno-ssse3 causes build failure, e.g.:
> CFLAGS="-O2 -march=bonnell -mtune=bonnell -mno-ssse3"
> ...
> gcc  -I. -I./lib  -Ilib -I./lib -Isrc -I./src  -mavx -mpclmul   -O2
> -march=bonnell -mtune=bonnell -mno-ssse3 -c -o
> src/libcksum_pclmul_a-cksum_pclmul.o `test -f 'src/cksum_pclmul.c' ||
> echo './'`src/cksum_pclmul.c
> In file included from /usr/lib/gcc/i686-pc-linux-gnu/12/include/immintrin.h:37,
>                   from /usr/lib/gcc/i686-pc-linux-gnu/12/include/x86intrin.h:32,
>                   from src/cksum_pclmul.c:22:
> /usr/lib/gcc/i686-pc-linux-gnu/12/include/tmmintrin.h: In function
> 'cksum_pclmul':
> /usr/lib/gcc/i686-pc-linux-gnu/12/include/tmmintrin.h:136:1: error:
> inlining failed in call to 'always_inline' '_mm_shuffle_epi8': target
> specific option mismatch
>    136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
>        | ^~~~~~~~~~~~~~~~
> src/cksum_pclmul.c:103:19: note: called from here
>    103 |           data7 = _mm_shuffle_epi8 (data7, shuffle_constant);
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/lib/gcc/i686-pc-linux-gnu/12/include/tmmintrin.h:136:1: error:
> inlining failed in call to 'always_inline' '_mm_shuffle_epi8': target
> specific option mismatch
> 
> The problem is in the pclmul optimization. The configure.ac autodetect
> script checks for the pclmul, but not for the ssse3 instructions which
> are later utilized in the pclmul optimized code. Unfortunately, it
> also seems there is no way to override the configure.ac check result
> (e.g. by the ./configure --without-pclmul option). The attached patch
> added the ssse3 detection and fixed the problem for me. Maybe it would
> be better to split it into two checks - pclmul and ssse3, but I didn't
> want to complicate it. The patch was initially created for
> coreutils-9.1 where the problem initially manifested, but it also
> applies to coreutils-9.3 which is also affected

Pushed.

Marking this as done.

thanks!
Pádraig





This bug report was last modified 2 years and 27 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.