I've worked through some of the windows compile errors I was getting frustrated sochanged gears
and started working on sse2 support.
sse2 qubit works and will be included in the first release.
I can get sse2 working on one algo that uses groestl at a time. If I include the sse2 groestl files in two algo
at the same time I get multiple definition linker errors. The included files are full of macros so that kind of
explains it. I may try turning them into functions so the files that include them don't pull the coded into
themselves. If that works it will probably have a performance impact, hopefully not too big. I
This affects all the x algos and quark.
I'm going to change my approach slightly. Instead of cloning the macros into a function I'll just wrap
them in a function. I'm more optimistic about the perrformance impact of this. There will be a cost
in the overhead of the function call/return but this design opens up other optimization opportunities.
It remains to be seen what the net effect will be. If there is a net gain this change could be applied
to other macro based sse2 sub-algos, which are still used by the aes_ni kernels ultimately speeding
up aes_ni kernels as well.
These changes are what caused the compile problem above, hopefuly the'l magically disappear.
it's exciting times for a cpu miner.
Well the compoile errors didn't magically disappear. It's still a better design so I'll keep it.
I just declared and defined wrappers in the same files where the macros were defined, eliminating the need
for grso-nomacro files. And the wrappers do nothing else but call the macros. When I can get it to compile
it should work.