-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use fld.d/fst.d in PROLOGUE/EPILOGUE in LOONGSON3R5 GEMM #4881
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: |
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