simde icon indicating copy to clipboard operation
simde copied to clipboard

gcc 11.1.1 & gcc 12 without flags + i686 x86/avx512/dbsad failures

Open junaruga opened this issue 2 years ago • 8 comments

I faced the following test failures on gcc 11.1.1 without flags on i686 with simde the latest master commit c4aa8b492aea70a3a09852c4e0427e07791bb49f on Fedora rawhide (= 35). Here is the result from the log. Could you take a look at it? Thank you.

== 1. tests on gcc ==
+ gcc --version
gcc (GCC) 11.1.1 20210623 (Red Hat 11.1.1-6)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ g++ --version
g++ (GCC) 11.1.1 20210623 (Red Hat 11.1.1-6)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ bash -
=== 1.1. tests on gcc without flags ===
+ BUILD_DIR=build/gcc
+ CC='gcc -fno-strict-aliasing'
+ CXX='g++ -fno-strict-aliasing'
+ _setup
+ meson setup build/gcc
The Meson build system
Version: 0.58.0
Source dir: /builddir/build/BUILD/simde-c4aa8b492aea70a3a09852c4e0427e07791bb49f
Build dir: /builddir/build/BUILD/simde-c4aa8b492aea70a3a09852c4e0427e07791bb49f/build/gcc
Build type: native build
Project name: SIMDe
Project version: 0.7.3
C compiler for the host machine: gcc -fno-strict-aliasing (gcc 11.1.1 "gcc (GCC) 11.1.1 20210623 (Red Hat 11.1.1-6)")
C linker for the host machine: gcc -fno-strict-aliasing ld.bfd 2.36.1-15
C++ compiler for the host machine: g++ -fno-strict-aliasing (gcc 11.1.1 "g++ (GCC) 11.1.1 20210623 (Red Hat 11.1.1-6)")
C++ linker for the host machine: g++ -fno-strict-aliasing ld.bfd 2.36.1-15
Host machine cpu family: x86
Host machine cpu: i686
Library m found: YES
Compiler for C supports arguments -fopenmp-simd: YES 
Compiler for C++ supports arguments -fopenmp-simd: YES 
Compiler for C supports arguments -Wpsabi: YES 
Compiler for C++ supports arguments -Wpsabi: YES 
Library m found: YES
Build targets in project: 1442
Found ninja-1.10.2 at /usr/bin/ninja
+ _build
+ rm -f build.log
+ _time ninja -C build/gcc -v -j 48
+ head -4 build.log
+ /usr/bin/time -f '=> [%E]' ninja -C build/gcc -v -j 48
ninja: Entering directory `build/gcc'
[1/2884] gcc -fno-strict-aliasing -Itest/common/common-c.p -Itest/common -I../../test/common -I. -I../.. -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -g -fopenmp-simd -DSIMDE_CONSTRAINED_COMPILATION -DSIMDE_ENABLE_OPENMP -Wno-psabi -DSIMDE_TEST_BARE -MD -MQ test/common/common-c.p/common.c.o -MF test/common/common-c.p/common.c.o.d -o test/common/common-c.p/common.c.o -c ../../test/common/common.c
[2/2884] gcc -fno-strict-aliasing  -o test/common/common-c test/common/common-c.p/common.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group -lm -Wl,--end-group
+ tail -3 build.log
[2883/2884] g++ -fno-strict-aliasing  -o test/mips/msa/subv-emul-cpp test/mips/msa/subv-emul-cpp.p/meson-generated_.._subv.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group -lm -Wl,--end-group
[2884/2884] g++ -fno-strict-aliasing  -o test/mips/msa/subv-native-cpp test/mips/msa/subv-native-cpp.p/meson-generated_.._subv.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group -lm -Wl,--end-group
=> [1:14.43]
+ _test
+ _time meson test -C build/gcc -q --no-rebuild --print-errorlogs
+ /usr/bin/time -f '=> [%E]' meson test -C build/gcc -q --no-rebuild --print-errorlogs
▶   49/1442 dbsad/mm512_dbsad_epu8                FAIL          
▶   50/1442 dbsad/mm512_dbsad_epu8                FAIL          
  49/1442 x86/avx512/dbsad/emul/c                 ERROR           0.19s   exit status 1
>>> MALLOC_PERTURB_=225 /builddir/build/BUILD/simde-c4aa8b492aea70a3a09852c4e0427e07791bb49f/build/gcc/test/x86/avx512/dbsad-emul-c
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
../../test/x86/avx512/dbsad.c:1156: assertion failed: r[15] == simde_mm512_loadu_epi16(test_vec[7].r)[15] (183 == 119)
(test program exited with status code 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
  50/1442 x86/avx512/dbsad/native/c               ERROR           0.19s   exit status 1
>>> MALLOC_PERTURB_=95 /builddir/build/BUILD/simde-c4aa8b492aea70a3a09852c4e0427e07791bb49f/build/gcc/test/x86/avx512/dbsad-native-c
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
../../test/x86/avx512/dbsad.c:1156: assertion failed: r[15] == simde_mm512_loadu_epi16(test_vec[7].r)[15] (183 == 119)
(test program exited with status code 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
▶   97/1442 dbsad/mm512_dbsad_epu8                FAIL          
▶   98/1442 dbsad/mm512_dbsad_epu8                FAIL          
  97/1442 x86/avx512/dbsad/emul/cpp               ERROR           0.28s   exit status 1
>>> MALLOC_PERTURB_=84 /builddir/build/BUILD/simde-c4aa8b492aea70a3a09852c4e0427e07791bb49f/build/gcc/test/x86/avx512/dbsad-emul-cpp
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
test/x86/avx512/dbsad.cpp:1156: assertion failed: r[15] == simde_mm512_loadu_epi16(test_vec[7].r)[15] (183 == 119)
(test program exited with status code 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
  98/1442 x86/avx512/dbsad/native/cpp             ERROR           0.28s   exit status 1
>>> MALLOC_PERTURB_=234 /builddir/build/BUILD/simde-c4aa8b492aea70a3a09852c4e0427e07791bb49f/build/gcc/test/x86/avx512/dbsad-native-cpp
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
test/x86/avx512/dbsad.cpp:1156: assertion failed: r[15] == simde_mm512_loadu_epi16(test_vec[7].r)[15] (183 == 119)
(test program exited with status code 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Summary of Failures:
  49/1442 x86/avx512/dbsad/emul/c                 ERROR           0.19s   exit status 1
  50/1442 x86/avx512/dbsad/native/c               ERROR           0.19s   exit status 1
  97/1442 x86/avx512/dbsad/emul/cpp               ERROR           0.28s   exit status 1
  98/1442 x86/avx512/dbsad/native/cpp             ERROR           0.28s   exit status 1
Ok:                 1438
Expected Fail:      0   
Fail:               4   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0   
Full log written to /builddir/build/BUILD/simde-c4aa8b492aea70a3a09852c4e0427e07791bb49f/build/gcc/meson-logs/testlog.txt
Command exited with non-zero status 4
=> [0:06.75]

junaruga avatar Jul 23 '21 17:07 junaruga

I skipped the failures by the following command as a temporary workaround in gcc i686 case.

sed -i "/^simde_avx512_families/,/\]/ s/'dbsad',/#\0/" meson.build

junaruga avatar Jul 25 '21 20:07 junaruga

I still see the failures on simde 48edfa906d835525e2061fbf6062b7c326d66840 .

== 1. tests on gcc ==
+ gcc --version
gcc (GCC) 11.1.1 20210623 (Red Hat 11.1.1-6)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ g++ --version
g++ (GCC) 11.1.1 20210623 (Red Hat 11.1.1-6)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ bash -
=== 1.1. tests on gcc without flags ===
+ BUILD_DIR=build/gcc
+ CC='gcc -fno-strict-aliasing'
+ CXX='g++ -fno-strict-aliasing'
+ _setup
+ meson setup build/gcc
The Meson build system
Version: 0.58.0
Source dir: /builddir/build/BUILD/simde-48edfa906d835525e2061fbf6062b7c326d66840
Build dir: /builddir/build/BUILD/simde-48edfa906d835525e2061fbf6062b7c326d66840/build/gcc
Build type: native build
Project name: SIMDe
Project version: 0.7.3
C compiler for the host machine: gcc -fno-strict-aliasing (gcc 11.1.1 "gcc (GCC) 11.1.1 20210623 (Red Hat 11.1.1-6)")
C linker for the host machine: gcc -fno-strict-aliasing ld.bfd 2.36.1-15
C++ compiler for the host machine: g++ -fno-strict-aliasing (gcc 11.1.1 "g++ (GCC) 11.1.1 20210623 (Red Hat 11.1.1-6)")
C++ linker for the host machine: g++ -fno-strict-aliasing ld.bfd 2.36.1-15
Host machine cpu family: x86
Host machine cpu: i686
Library m found: YES
Compiler for C supports arguments -fopenmp-simd: YES 
Compiler for C++ supports arguments -fopenmp-simd: YES 
Compiler for C supports arguments -Wpsabi: YES 
Compiler for C++ supports arguments -Wpsabi: YES 
Library m found: YES
Build targets in project: 1446
Found ninja-1.10.2 at /usr/bin/ninja
+ _build
+ rm -f build.log
+ _time ninja -C build/gcc -v -j 6
+ head -4 build.log
+ /usr/bin/time -f '=> [%E]' ninja -C build/gcc -v -j 6
ninja: Entering directory `build/gcc'
[1/2892] gcc -fno-strict-aliasing -Itest/common/common-c.p -Itest/common -I../../test/common -I. -I../.. -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -g -fopenmp-simd -DSIMDE_CONSTRAINED_COMPILATION -DSIMDE_ENABLE_OPENMP -Wno-psabi -DSIMDE_TEST_BARE -MD -MQ test/common/common-c.p/common.c.o -MF test/common/common-c.p/common.c.o.d -o test/common/common-c.p/common.c.o -c ../../test/common/common.c
[2/2892] gcc -fno-strict-aliasing  -o test/common/common-c test/common/common-c.p/common.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group -lm -Wl,--end-group
[2891/2892] g++ -fno-strict-aliasing  -o test/mips/msa/subv-emul-cpp test/mips/msa/subv-emul-cpp.p/meson-generated_.._subv.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group -lm -Wl,--end-group
[2892/2892] g++ -fno-strict-aliasing  -o test/mips/msa/subv-native-cpp test/mips/msa/subv-native-cpp.p/meson-generated_.._subv.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group -lm -Wl,--end-group
=> [5:24.09]
+ tail -3 build.log
+ _test
+ _time meson test -C build/gcc -q --no-rebuild --print-errorlogs
+ /usr/bin/time -f '=> [%E]' meson test -C build/gcc -q --no-rebuild --print-errorlogs
▶   91/1446 dbsad/mm512_dbsad_epu8                FAIL          
▶   92/1446 dbsad/mm512_dbsad_epu8                FAIL          
  91/1446 x86/avx512/dbsad/emul/c                 ERROR           0.03s   exit status 1
>>> MALLOC_PERTURB_=29 /builddir/build/BUILD/simde-48edfa906d835525e2061fbf6062b7c326d66840/build/gcc/test/x86/avx512/dbsad-emul-c
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
../../test/x86/avx512/dbsad.c:1156: assertion failed: r[15] == simde_mm512_loadu_epi16(test_vec[7].r)[15] (183 == 119)
(test program exited with status code 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
  92/1446 x86/avx512/dbsad/native/c               ERROR           0.03s   exit status 1
>>> MALLOC_PERTURB_=109 /builddir/build/BUILD/simde-48edfa906d835525e2061fbf6062b7c326d66840/build/gcc/test/x86/avx512/dbsad-native-c
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
../../test/x86/avx512/dbsad.c:1156: assertion failed: r[15] == simde_mm512_loadu_epi16(test_vec[7].r)[15] (183 == 119)
(test program exited with status code 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
▶   97/1446 dbsad/mm512_dbsad_epu8                FAIL          
▶   98/1446 dbsad/mm512_dbsad_epu8                FAIL          
  97/1446 x86/avx512/dbsad/emul/cpp               ERROR           0.04s   exit status 1
>>> MALLOC_PERTURB_=28 /builddir/build/BUILD/simde-48edfa906d835525e2061fbf6062b7c326d66840/build/gcc/test/x86/avx512/dbsad-emul-cpp
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
test/x86/avx512/dbsad.cpp:1156: assertion failed: r[15] == simde_mm512_loadu_epi16(test_vec[7].r)[15] (183 == 119)
(test program exited with status code 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
  98/1446 x86/avx512/dbsad/native/cpp             ERROR           0.03s   exit status 1
>>> MALLOC_PERTURB_=213 /builddir/build/BUILD/simde-48edfa906d835525e2061fbf6062b7c326d66840/build/gcc/test/x86/avx512/dbsad-native-cpp
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
test/x86/avx512/dbsad.cpp:1156: assertion failed: r[15] == simde_mm512_loadu_epi16(test_vec[7].r)[15] (183 == 119)
(test program exited with status code 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Summary of Failures:
  91/1446 x86/avx512/dbsad/emul/c                 ERROR           0.03s   exit status 1
  92/1446 x86/avx512/dbsad/native/c               ERROR           0.03s   exit status 1
  97/1446 x86/avx512/dbsad/emul/cpp               ERROR           0.04s   exit status 1
  98/1446 x86/avx512/dbsad/native/cpp             ERROR           0.03s   exit status 1
Ok:                 1442
Expected Fail:      0   
Fail:               4   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0   
Full log written to /builddir/build/BUILD/simde-48edfa906d835525e2061fbf6062b7c326d66840/build/gcc/meson-logs/testlog.txt
Command exited with non-zero status 4
=> [0:09.39]

junaruga avatar Jul 27 '21 07:07 junaruga

Likewise @junaruga , can you confirm this again? Thanks!

mr-c avatar Oct 13 '21 10:10 mr-c

I just got this for i686 :-/

mr-c avatar Oct 13 '21 15:10 mr-c

Sure!

junaruga avatar Oct 13 '21 22:10 junaruga

We also see this downstream in Gentoo: https://bugs.gentoo.org/926706

matoro avatar Mar 10 '24 21:03 matoro

@matoro can you test the latest release candidate? https://github.com/simd-everywhere/simde/releases/tag/v0.8.0-rc2

mr-c avatar Mar 10 '24 23:03 mr-c

@matoro can you test the latest release candidate? https://github.com/simd-everywhere/simde/releases/tag/v0.8.0-rc2

Just tried this, it's actually even worse with this RC, two additional failures not present before. The failures mentioned in this issue are still present.

Summary of Failures:

 105/2002 x86/avx512/dbsad/emul/c                 ERROR           0.08s   exit status 1
 106/2002 x86/avx512/dbsad/native/c               ERROR           0.08s   exit status 1
 113/2002 x86/avx512/dbsad/emul/cpp               ERROR           0.11s   exit status 1
 114/2002 x86/avx512/dbsad/native/cpp             ERROR           0.10s   exit status 1
 169/2002 x86/avx512/fpclass/emul/c               ERROR           0.07s   exit status 1
 174/2002 x86/avx512/fpclass/native/c             ERROR           0.07s   exit status 1
 177/2002 x86/avx512/fpclass/emul/cpp             ERROR           0.09s   exit status 1
 178/2002 x86/avx512/fpclass/native/cpp           ERROR           0.09s   exit status 1

Ok:                 1994
Expected Fail:      0   
Fail:               8   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0   
 177/2002 x86/avx512/fpclass/emul/cpp                       ERROR           0.09s   exit status 1
>>> ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=98 /var/tmp/portage/dev-libs/simde-0.7.6-r1/work/simde-0.7.6-build/test/x86/avx512/fpclass-emul-cpp
 ✀  
stderr:
test/x86/avx512/fpclass.cpp:42: assertion failed: simde_mm256_fpclass_ps_mask(a, 0x01) == 128 (129 == 128)
test/x86/avx512/fpclass.cpp:174: assertion failed: simde_mm512_fpclass_pd_mask(a, 0x01) == 128 (129 == 128)

(test program exited with status code 1)


 178/2002 x86/avx512/fpclass/native/cpp                     ERROR           0.09s   exit status 1
>>> MALLOC_PERTURB_=241 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /var/tmp/portage/dev-libs/simde-0.7.6-r1/work/simde-0.7.6-build/test/x86/avx512/fpclass-native-cpp
 ✀  
stderr:
test/x86/avx512/fpclass.cpp:42: assertion failed: simde_mm256_fpclass_ps_mask(a, 0x01) == 128 (129 == 128)
test/x86/avx512/fpclass.cpp:174: assertion failed: simde_mm512_fpclass_pd_mask(a, 0x01) == 128 (129 == 128)

(test program exited with status code 1)

matoro avatar Mar 10 '24 23:03 matoro