pq-crystals/kyber

Why are you using GAS?

QRCS-CORP opened this issue · 2 comments

Congrats on making it to round 3!

Many modern compilers no longer support this old AT&T style dialect, but all the major compilers including GCC and Clang, support the more modern Intel syntax used in MASM. Windows servers are a huge piece of the market, and the go-to tool for Windows programming is Visual Studio, which does not support this older syntax. As a result, a number of downstream prototyping libraries, including my own, have not implemented the AVX versions of these codes. Please consider changing the ASM to the Intel syntax in Dilithium and Kyber, it would save a lot of people a lot of work.

Cheers,
John

We have a NASM version of the assembly code:

https://github.com/Argyle-Software/kyber/tree/master/src/avx2/nasm

Intrinsic version instead of gas/nasm - would be good also, for using same code both in windows and *nix.