Use fld.d/fst.d in PROLOGUE/EPILOGUE in LOONGSON3R5 GEMM#4881
Use fld.d/fst.d in PROLOGUE/EPILOGUE in LOONGSON3R5 GEMM#4881martin-frbg merged 2 commits intoOpenMathLib:developfrom
Conversation
|
This new fix does not work yet. On Debian sid loong64 with gcc 14.2.0: Building command: The problem remains. |
|
Ah, sad. Guess it was a bit premature to remove the pragma, though it seemed to work well without it on Loongson's 3C5000 in the gcc compile farm (using both gcc14.1 and a git snapshot of 15) |
|
My CPU is 3A6000. By the way, the problem appears only when building with gmake. cmake builds seem always fine before/after patches. |
|
cmake build probably uses -O0 when no CMAKE_BUILD_TYPE is specified, and -O3 when building with setting "Release", while gmake build defaults to -O2 |
|
curiously I do not get the error on 3C5000 even with gcc 14.2.0 (built from source) and the changes from this PR. (without them, the fault appears on each run of utest, with them I can do 100 runs of utest without a single failure). Probably the difference is in the version of binutils used, but can you please check what value of CORE gets put into your Makefile.conf (should be LOONGSON3R5) just to be sure ? |
|
Currently the version of binutils on Debian sid loong64 is 2.43-2. And yes the value of CORE in my Makefile.conf is LOONGSON3R5, see below: |
|
And I report that on Loong Arch Linux with your new fix the build can complete without errors. But when I run |
|
strange - host "cfarm400.cfarm.net" where I am running my tests claims to be "Debian trixie/sid", kernel version 6.1.0rc7+ and has binutils 2.43 installed |
|
My Debian unstable system is similar but it has a newer kernel: And my apt source is: |
|
update: I recently tried to build OpenBLAS 0.3.30/develop with different gcc compilers (13.4/14.2/14.3/15.1/15.2), and found that the pragma in However, when building OpenBLAS version 0.3.29 or earlier with gcc>=14, the pragma in |
|
Interesting, thanks. The only related change in 0.3.30 would seem to be #5248, which addressed precision issues in several level 1 BLAS functions |
same underlying issue of potential data loss as detailed in #4872 - this is most likely the proper fix for the spurious utest errors seen in #4805