Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 946160 - sci-libs/gsl-2.7.1-r3 test fail : linalg : complex_LU_decomp, QR_update, cholesky_invert unscaled hilbert ; spmatrix ; rng
Summary: sci-libs/gsl-2.7.1-r3 test fail : linalg : complex_LU_decomp, QR_update, chol...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks:
 
Reported: 2024-12-09 17:40 UTC by Arniii
Modified: 2024-12-12 18:34 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (file_946160.txt,14.41 KB, text/plain)
2024-12-09 17:40 UTC, Arniii
Details
a lot of files in a lzip-tarball (sci-libs_gsl-2.7.1-r3_test_fail.tar.lz,171.13 KB, application/x-lzip)
2024-12-09 17:42 UTC, Arniii
Details
iteration 21. spmatrix/test-suite.log (file_946160.txt,220.19 KB, text/plain)
2024-12-12 15:34 UTC, Arniii
Details
a lot of files in a lzip-tarball (sci-libs_gsl-2.7.1-r3_test_fail.tar.lz,201.88 KB, application/x-lzip)
2024-12-12 18:11 UTC, Arniii
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arniii 2024-12-09 17:40:35 UTC
Created attachment 913660 [details]
emerge --info

work/linalg/test-suite.log:
```
======================================
   gsl 2.7.1: linalg/test-suite.log
======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05   5.04211056977510452e-05
 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960]
(  5,  3)[2,1]: 0.00349227666295463118   0.00349227666295566508
FAIL:   QR_update m(5,3) [22465199]
FAIL: QR Rank-1 Update [22465208]
FAIL: cholesky_invert unscaled hilbert (  4,  4)[0,2]: 2.55795384873636067e-13                        0
 (2.55795384873636067e-13 observed vs 0 expected) [28190582]
FAIL test (exit status: 1)
```
Comment 1 Arniii 2024-12-09 17:42:03 UTC
Created attachment 913661 [details]
a lot of files in a lzip-tarball

in the lzipped-tarball:
emerge_--info.txt /var/tmp/portage/sci-libs/gsl-2.7.1-r3/{build-info/,files/,temp/,work/**.log} /var/lib/portage/ /etc/portage/ /var/log/portage/elog/sci-libs/gsl-2.7.1-r3:20241209-154646.log
Comment 2 Arniii 2024-12-09 17:42:20 UTC
iteration 2: disabling graphite does not help
Comment 3 Arniii 2024-12-09 17:43:56 UTC
(In reply to Arniii from comment #2)
> iteration 2: disabling graphite does not help

 -O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -ggdb3 -frecord-gcc-switches
Comment 4 Arniii 2024-12-09 17:47:59 UTC
iteration 3
switching to O2 from first iteration does not help:

-O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches
Comment 5 Arniii 2024-12-09 17:54:35 UTC
iteration 4:
switching to O1 from first iteration fixes the issue.

-O1 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
Comment 6 Arniii 2024-12-09 18:00:59 UTC
iteration 5:
disable graphite and switch to O2 does NOT fix the issue.

-O2 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -ggdb3 -frecord-gcc-switches
Comment 7 Arniii 2024-12-09 18:02:18 UTC
either O1 to O2 is the problem, or O2 + some of my -march=native flags, or ggdb3
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-10 02:51:09 UTC
Please provide summaries when you're done iterating. But really, -march=native needs to be expanded too. Consider not filing the bug immediately either until some initial narrowing down has been done.

Anyway, it's not actionable as-is yet. Please reopen once you have it narrowed down more to your -march.
Comment 9 Arniii 2024-12-12 12:41:58 UTC
(In reply to Sam James from comment #8)
> Please provide summaries when you're done iterating. But really,
> -march=native needs to be expanded too. Consider not filing the bug
> immediately either until some initial narrowing down has been done.
> 
> Anyway, it's not actionable as-is yet. Please reopen once you have it
> narrowed down more to your -march.

Ok, I'll iterating more. I'll reopen when and if I get a specific flag as the problem.
Comment 10 Arniii 2024-12-12 13:48:06 UTC
iteration 6: 
iteration 1 + switching to O1 + all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Fails in the same way.

Resulting compile flags:
```
-O1 -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

the /etc/portage/env/ file: 
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-falign-functions -falign-jumps -falign-labels  -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps  -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize  -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse  -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp  -fipa-cp  -fipa-icf -fipa-ra  -fipa-sra  -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition  -freorder-functions -frerun-cse-after-loop -fschedule-insns  -fschedule-insns2 -fsched-interblock  -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion  -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```
-----------------------------------------------------------------------

Iteration 7:
iteration 1 + switching to O1 + first half of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Fails in the same way.

Resulting compile flags:
```
-O1 -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-falign-functions -falign-jumps -falign-labels  -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps  -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize  -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse  -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp  -fipa-cp  -fipa-icf -fipa-ra  -fipa-sra  -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```


-------------------------------------------------------------------------

Iteration 8.
iteration 1 + switching to O1 + first quarter of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Fails in the same way.

Resulting compile flags:
```
-O1 -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-falign-functions -falign-jumps -falign-labels  -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps  -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize  -fdevirtualize-speculatively -fexpensive-optimizations -ffinite-loops -fgcse"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```


------------------------------------------------------------------------

Iteration 9.
iteration 1 + switching to O1 + first 1/8 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Success.

Resulting compile flags:
```
-O1 -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-falign-functions -falign-jumps -falign-labels  -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```

--------------------------------------------------------------------------
Iteration 10.
iteration 1 + switching to O1 + third 1/16 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Success.

Resulting compile flags:
```
-O1 -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize  -fdevirtualize-speculatively"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```

-------------------------------------------------------------

Iteration 11:
iteration 1 + switching to O1 + seventh 1/32 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

fail in the same way

Resulting compile flags:
```
-O1 -fexpensive-optimizations -ffinite-loops -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```


Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-fexpensive-optimizations -ffinite-loops"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```

----------------------------------------------------------------------

Iteration 12.
iteration 1 + switching to O1 + 13th 1/64 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Fails in the same way.

Resulting compile flags:
```
-O1 -fexpensive-optimizations -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches 
```

Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-fexpensive-optimizations"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```

----------------------------------------------------------------------

Iteration 13.
iteration 1 + switching to O1 + 14th 1/64 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Success.


Resulting compile flags:
```
-O1 -ffinite-loops -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-ffinite-loops"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```



Conclusion from the iterations:

It happens when O1 + -fexpensive-optimization .

Continuing iterating...
Comment 11 Arniii 2024-12-12 14:03:26 UTC
Iteration 14.
Iteration 13 + switch to O0

Success.

Resulting compilation flags:
```
-O0 -fexpensive-optimizations -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

------------

Iteration 15.
Iteration 13 + remove graphite flags

test fail:
======================================
   gsl 2.7.1: linalg/test-suite.log
======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: cholesky_invert unscaled hilbert (  4,  4)[0,2]: 2.55795384873636067e-13                        0
 (2.55795384873636067e-13 observed vs 0 expected) [28190582]
FAIL test (exit status: 1)

.

I need to recheck every failed iteration, since when there was fail, I wasn't looking for specific assert...
Comment 12 Arniii 2024-12-12 14:50:42 UTC
iteration 13 fail:

======================================
   gsl 2.7.1: linalg/test-suite.log
======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: cholesky_invert unscaled hilbert (  4,  4)[0,2]: 2.55795384873636067e-13                        0
 (2.55795384873636067e-13 observed vs 0 expected) [28190582]
FAIL test (exit status: 1)


Iteration 11. fails exactly as above.

Iteration 8. fails exactly as above.

Iteration 7. fails exactly as above.

Iteration 6. fails two asserts:
```
======================================
   gsl 2.7.1: linalg/test-suite.log
======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05   5.04211056977510452e-05
 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960]
FAIL: cholesky_invert unscaled hilbert (  4,  4)[0,2]: 2.55795384873636067e-13                        0
 (2.55795384873636067e-13 observed vs 0 expected) [28190582]
FAIL test (exit status: 1)
```

Iteration 5. fails as above.

Iteration 3. fails as above.

Iteration 2. fails as iteration 1.
Comment 13 Arniii 2024-12-12 15:10:17 UTC
Continuing bisecting cholesky_invert unscaled hilbert  ...

Iteration 16.

Iteration 15 + without -march=native(verbosely specified) flags.

Success.

Resulting compilation flags:
```
-O1 -fexpensive-optimizations -pipe -ggdb3 -frecord-gcc-switches
```

-------------------------------

Iteration 17.

Iteration 16 + -march=alderlake

Test fail:
======================================
   gsl 2.7.1: linalg/test-suite.log
======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: cholesky_invert unscaled hilbert (  4,  4)[0,2]: 2.55795384873636067e-13                        0
 (2.55795384873636067e-13 observed vs 0 expected) [28190582]
FAIL test (exit status: 1)

Resulting compilation flags:
```
-O1 -fexpensive-optimizations -pipe -march=alderlake -ggdb3 -frecord-gcc-switches
```

---------------------------------------------------------------

Iteration 18.
Iteration 17 + remove -ggdb3

Fails in the previous way.

Resulting compilation flags:
```
-O1 -fexpensive-optimizations -pipe -march=alderlake -frecord-gcc-switches
```





So , one assert fails in the case of -O1 -fexpensive-optimizations m-arch=alderlake .


Now I'm going to bisect failure of 'complex_LU_decomp rect3' assert
Comment 14 Arniii 2024-12-12 15:34:21 UTC
Created attachment 913872 [details]
iteration 21. spmatrix/test-suite.log

Iteration 19.
Iteration 1 + switch to O1 + second half of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Fails only 'complex_LU_decomp rect3' assert:
```
======================================
   gsl 2.7.1: linalg/test-suite.log
======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05   5.04211056977510452e-05
 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960]
FAIL test (exit status: 1)
```

Resulting compilation flags:
```
-O1 -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition  -freorder-functions -frerun-cse-after-loop -fschedule-insns  -fschedule-insns2 -fsched-interblock  -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion  -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```

----------------------------------------------------------------

Iteration 20.
Iteration 1 + switch to O1 + third quarter of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2

Success.

Resulting compilation flags:
```
-O1 -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```


Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition  -freorder-functions -frerun-cse-after-loop -fschedule-insns  -fschedule-insns2 -fsched-interblock  -fsched-spec"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```

-------------------------------------------------------------

Iteration 21.
Iteration 1 + switch to O1 + 7th 1/8 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2:

!!!!! Another test fail in another place:

Attached /var/tmp/portage/sci-libs/gsl-2.7.1-r3/work/gsl-2.7.1/spmatrix/test-suite.log 

Looks like floating point errors.

Resulting compilation flags:
```
-O1 -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```

-------------------------------------------------------------

Iteration 22.
Iteration 1 + switch to O1 + 15th 1/16 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2:
Comment 15 Arniii 2024-12-12 15:47:34 UTC
Iteration 22.
Iteration 1 + switch to O1 + 8th 1/8 of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2:

Success. why...?

Resulting compilation flags:
```
-O1 -ftree-slp-vectorize -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

Content of corresponding /etc/portage/env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

FROM_GCC_ALL_O2="-ftree-slp-vectorize -ftree-switch-conversion  -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap"

COMMON_FLAGS="-O1 ${FROM_GCC_ALL_O2} -pipe ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```
Comment 16 Arniii 2024-12-12 16:17:01 UTC
Iteration 23.

Iteration 1 + switch to O1 + 4th quarter of all flags from O2 according to https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O2:

fail linalg/ complex_LU_decomp rect3  .

I've `cd` to spmatrix and tried to execute it. No error. So why? With 7th 1/8 of O2 flags it appears, with 4th 1/4 it doesn't...

`complex_LU_decomp rect3` is also looks like a floating point error: expected and observed values have difference after 10 valuable digits. And it's also strange: with 4rd quarter it appears, but not with 7th 1/8 or 8th 1/8 of flags.

`QR Rank-1 Update` `QR_update m(5,3)` should be something at O2 to O3 ... I'll try bisect it...
Comment 17 Arniii 2024-12-12 17:39:43 UTC
Iteration 24.
Iteration 1 + switch to O2 + all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3

test fail: qr, decomp and choletsky invert and (I've `cd`ed to check) spmatrix.


resulting compilation flags:
```
-O2 -pipe -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-loops -fsplit-paths -ftree-loop-distribution -ftree-partial-pre -funswitch-loops -fvect-cost-model=dynamic -fversion-loops-for-strides -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

---------------------------------------

Iteration 25.
Iteration 1 + switch to O2 + first half of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3

tests failures are the same as in 24th iteration, but not QR.

resulting compilation flags:
```
-O2 -pipe -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-loops -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

---------------------------------------------------------

Iteration 26.
Iteration 1 + switch to O2 + second half of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3

fail. same as iteration 24.

---------------------------------------------------------

Iteration 27.
Iteration 1 + switch to O2 + third quarter of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3

fail. same as iteration 25.

---------------------------------------------------------

Iteration 28.
Iteration 1 + switch to O2 + fourth quarter of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3

fail. same as iteration 24.

---------------------------------------------------------

Iteration 29.

Iteration 1 + switch to O2 + 7th 1/8 of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3

fail. same as iteration 25.

---------------------------------------------------------

Iteration 30.

Iteration 1 + switch to O2 + 8th 1/8 of all flags for O3 from https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Optimize-Options.html#index-O3

fail. same as iteration 24.

Compilation flags:
```
-O2 -pipe -fversion-loops-for-strides -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches
```

Corresponding env file:
```
MARCH_NATIVE_GCC="-march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720"

LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"


SOME_O3_FLAGS="-fversion-loops-for-strides"


COMMON_FLAGS="-O2 -pipe ${SOME_O3_FLAGS} ${MARCH_NATIVE_GCC} ${GCC_POLLY} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```


--------------------------------------------------------

Iteration 31.
Iteration 30 + remove -march=native flags.

Success. Every test passed.


--------------------------------------------------------

Iteration 32.
Iteration 1 + remove -march=native flags.

Another test fail:
```
===================================
   gsl 2.7.1: rng/test-suite.log
===================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: random32-bsd, 10000 steps (626977143 observed vs 1663114331 expected) [55]
FAIL: random64-bsd, 10000 steps (1262850638 observed vs 864469165 expected) [56]
FAIL: random32-libc5, 10000 steps (827587933 observed vs 1967452027 expected) [61]
FAIL: random64-libc5, 10000 steps (963916554 observed vs 2106639801 expected) [62]
FAIL test (exit status: 1)

```

Resulting compilation flags:
```
-O3 -pipe -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches
```

env file:
```
LTO_WARNINGS_GCC="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LTO_FLAGS_GCC="-flto ${LTO_WARNINGS_GCC}"

GCC_POLLY="-fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize"

DEBUG_FLAGS_GCC="-ggdb3"

BECAUSE_PACKAGE_TESTING_WIKI_CF="-frecord-gcc-switches"
BECAUSE_PACKAGE_TESTING_WIKI_LDF="-Wl,--defsym=__gentoo_check_ldflags__=0"

COMMON_FLAGS="-O3 -pipe ${GCC_POLLY} ${LTO_FLAGS_GCC} ${DEBUG_FLAGS_GCC} ${BECAUSE_PACKAGE_TESTING_WIKI_CF}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

LDFLAGS="${LDFLAGS} ${BECAUSE_PACKAGE_TESTING_WIKI_LDF}"
```

----------------------------------------------------------

Iteration 33.
Iteration 1 + no march native + no graphite flags.

Fails same as iteration 32.

Compilation flags:
```
-O3 -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches
```

----------------------------------------------------------

Iteration 34.
Iteration 1 + no march native + no graphite flags + switch to O2.

Success.

Compilation flags:
```
-O2 -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches
```
Comment 18 Arniii 2024-12-12 18:11:38 UTC
Created attachment 913876 [details]
a lot of files in a lzip-tarball

in the lzip tarball:
emerge_--info.txt /var/tmp/portage/sci-libs/gsl-2.7.1-r3/{build-info/,files/,temp/,work/**.log} /var/lib/portage/ /etc/portage/ /var/log/portage/elog/sci-libs/gsl-2.7.1-r3:20241212-173935.log

Summary:
5 different test failures.

--------------------------------------------------------

linalg: 3 different asserts in different cases:


```
FAIL: cholesky_invert unscaled hilbert (  4,  4)[0,2]: 2.55795384873636067e-13                        0
 (2.55795384873636067e-13 observed vs 0 expected) [28190582]
FAIL test (exit status: 1)
```

if
```
-O1 -fexpensive-optimizations -pipe -march=alderlake -frecord-gcc-switches
```

----------------------------------

```
FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05   5.04211056977510452e-05
 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960]
FAIL test (exit status: 1)
```
if:
O2 + my march=native(verbosely) + graphite flags

if:
O1 + fourth quarter of O2 flags ( -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre -ftree-slp-vectorize -ftree-switch-conversion  -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap ) + my march=native + graphite

but not if:
O1 + 7th 1/8 ( -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre ) or 8th 1/8 ( -ftree-slp-vectorize -ftree-switch-conversion  -ftree-tail-merge -ftree-vrp -fvect-cost-model=very-cheap ) of the O2 flags + my march native + graphite


----------------------------------

```
FAIL: complex_LU_decomp rect3 imag: ( 80,100)[40,76]: 5.04211056986392236e-05   5.04211056977510452e-05
 (5.04211056986392236e-05 observed vs 5.04211056977510452e-05 expected) [5676960]
(  5,  3)[2,1]: 0.00349227666295463118   0.00349227666295566508
FAIL:   QR_update m(5,3) [22465199]
FAIL: QR Rank-1 Update [22465208]
FAIL: cholesky_invert unscaled hilbert (  4,  4)[0,2]: 2.55795384873636067e-13
```

if O2 + -fversion-loops-for-strides + my march=native flags + graphite

But not if:
   O2 + -fversion-loops-for-strides +                         graphite


------------------------------------------------------------------------

spmatrix fail (see file `iteration 21. spmatrix/test-suite.log)

if O1 + 7th 1/8 of O2 flags (-fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-loop-vectorize -ftree-pre ) + my march=native(verbosely) + graphite flags

------------------------------------------------------------------------

```
===================================
   gsl 2.7.1: rng/test-suite.log
===================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: random32-bsd, 10000 steps (626977143 observed vs 1663114331 expected) [55]
FAIL: random64-bsd, 10000 steps (1262850638 observed vs 864469165 expected) [56]
FAIL: random32-libc5, 10000 steps (827587933 observed vs 1967452027 expected) [61]
FAIL: random64-libc5, 10000 steps (963916554 observed vs 2106639801 expected) [62]
FAIL test (exit status: 1)

```

if `-O3 -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches`

But not if `-O2 -pipe -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -ggdb3 -frecord-gcc-switches`