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
Add LoongArch LSX and LASX support #2159
Conversation
The fallback result is,
With LASX,
With LSX,
|
@MQ-mengqing Any chance of running these kernels in CI? I realize that Microsoft may not provide the hardware, but is it available through an emulator (e.g., qemu)? I expect we will merge but we want to be able to test it in CI otherwise it is difficult to support it on the long run. |
The latest version of Qemu already support LASX and LSX.
|
@MQ-mengqing I'll merge this. I just need to see about testing. |
@MQ-mengqing Can you review this PR: https://github.com/simdjson/simdjson/pull/2160/files I would be ok with not running the tests, but I'd like to at least verify that the code builds (e.g., by cross-compiling). Otherwise it is very difficult to support the code long term. |
@MQ-mengqing Can you sync your fork with our main branch so that the CI tests try to compile your code? I would like to see your code compiling in CI automatically before merging it. As I stated earlier, if we don't even compile the code, we have no chance of being able to spot problems. We need something like a build test, at least. |
afbd41e
to
ab23f36
Compare
@MQ-mengqing You may need to sync once more since I have applied the fix your suggest on the main branch. Sorry about that. |
ab23f36
to
ffe2b85
Compare
Running tests. |
Merging. I will be issuing a release. |
LSX is 128-bit and LASX is 256-bit. They can be supported in LoongArch CPU.
LSX is more widely supported SIMD instruction set than LASX.
The expected gcc version is 14.1 and later. The expected linux kernel version
is 6.6 and later. The expected llvm version is 17 and later.