MSVC support #7
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-sleepybishop/nanors#7
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The current runtime dispatching code using
__attribute__((target("options"))and__builtin_cpu_supports()only works on GCC/Clang. Moonlight uses a vendored version of the oldernanorscode which is patched to compile with MSVC. The new runtime dispatching and GFNI codepaths would be fantastic to integrate, but I don't want to carry an even larger diff downstream for MSVC support.Are you planning to add MSVC support? If not, would you be opposed to a PR that did so?
Ah, sorry I broke you guys, i just opened, #8 , WDYT?
Thanks for taking care of this. Are you able to address the remaining few warnings?
I can suppress them manually in my project files if not.
Sure, I'll take a look
i just pushed #10, PTAL
The warning fix LGTM.
I was testing locally and found that some of the
#ifdefguards are overly strict. MSVC only defines__AVX512F__or__AVX2__when those ISA extensions are guaranteed to be present (code built with/arch:AVX512or/arch:AVX2). MSVC allows use of those extensions any time x86 is targeted, so I don't think any check is required.There was a similar issue with the NEON codepath, but I needed to also adjust the initializers in
obl_axpyb32_neonto make it build. I'm pretty sure the change is incompatible with GCC/Clang, so it'll need more changes to conditionally pick which initialization method to use.I attached my patch. Feel free to use it as a reference for your changes.
msvc.patch
merged, thanks for your feedback.