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
porting @Microsoft SPTAG (native aliases enabled) (continued): ): _mm512_madd_epi16 wrong args, __mmask64 typo, wrong definition, compile warnings #1018
Comments
You are welcome! Fixes for items 1 and 2 are inbound.
Looks like C99 & C++11 guarantee that "unsigned long long" is at least 64 bits in any data model, but could be longer. I think defining More digging: 64 bits minimum is also in C++03 TR1 https://en.cppreference.com/w/cpp/language/types
simde/simde/simde-diagnostic.h Lines 82 to 89 in 314452b
Feel free to compile with |
Thanks. Before I was getting an error with `uint64_t` `__mmask64` but
just now I retried everything from scratch and didn't get any error.
`SIMDE_DIAGNOSTIC_DISABLE_PSABI_` is automatically enabled for GCC
version 7 and above, since I'm using GCC 12, so it should be enabled
already but I am still seeing the two warnings.
…--
bye,
pabs
https://bonedaddy.net/pabs3/
|
FYI: In e8390a3 I did add a
Hmm.. I don't know what to say, sorry. Can you try adding |
I think the `unsigned long long __mmask64` is not actually needed, but
I guess it probably causes no harm anyway.
I forgot that the diagnostic disabling was only per source file.
Adding `SIMDE_DISABLE_UNWANTED_DIAGNOSTICS` after I include the simde
headers got rid of the warnings originating from those files, but there
is still the warning from `avx.h`, which already uses the macro and the
warning doesn't go away even when I add the macro just before the
function that causes the warning. For some reason none of the other
functions in the `avx.h` file generate the warning.
Anyway, if the warning issue isn't of concern to you, then you can
close this bug report now.
…--
bye,
pabs
https://bonedaddy.net/pabs3/
|
Yeah, I think some of the fixes from Thanks again for the feedback! |
@mr-c Thanks for the upload of 0.7.4 to Debian experimental and fixing #961 but unfortunately that wasn't quite enough for me to build SPTAG.
Firstly commit ae545ce broke the definition of
_mm512_madd_epi16
, it mistakenly added two arguments to the start of the arguments, it should have two arguments not four, like thesimde_mm512_madd_epi16
function does.Secondly there was a typo in commit d850b83,
__mask64
should be__mmask64
instead.Thirdly the
typedef uint64_t __mmask64;
definition of__mmask64
conflicts with the one in GCC from Debian bookworm, which defines it withtypedef unsigned long long __mmask64;
inavx512bwintrin.h
.Fourthly the code successfully compiled but with a couple of GCC warnings:
The text was updated successfully, but these errors were encountered: