The only upstream change relative to the previous commit is that the
various Zcash-specific dependencies have been pulled into a cargo
workspace. The dependecies in the workspace use the same commits as the
crates we had previously vendored.
The patches are necessary to handle the fact that cargo requires that
dev dependencies are available even if not used, and we would otherwise
need to vendor all the underlying crates.
* Force portable code
* Switch to old MMX instructions, avoiding SSE & SSE2 instructions.
* Less agressive, leave verus code (which checks for it) using advanced instructions.
* Compiling only for windows
* Update .gitlab-ci.yml
* Try -march=native for C++ code generation.
* Tweaking machine architecture settings.
* Try native alone.
* Also get LIBCRYPTOCONDITIONS to -march=native
* Switch other lib to native as well.
* Try switching back further for CPU architecture.
* Even lower end settings.
* Turn on symbols.
* Use sse2,3 and 4 capable x64.
* Once again let verus lib use advances instructioins since it checjs via CPUID at run time.
* Modify a few more makefile entries.
* Switch to AMD model similar to our test system.
* Get snark makefile to k8 too.
* Yet another -march to modify to k8, or two of them.
* Brute force k8 settings, comment non-portable code out.
* Put the condition on cpuid back.
* Put non-portable advenced instruction code back
* Enable instructions.
* Add lib for separate settings.
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* replacing k8-sse3 specific flags to x86-84
* updating versions