xlol
-
Ich hab mal ne Frage
wie kann man
ror (rechts rotieren) und brev (bitsumkehren)
in C++ schnell ohne ASM! implementieren? geht das ohne Forschleifen (auch ohne unrolled)?
-
http://graphics.stanford.edu/~seander/bithacks.html
Und ror würde ich jetzt naiv so machen:
#define ROR(var,n) ((var<<n)|(var>>(CHAR_BIT*sizeof(var)-n)))
var und n sollten natürlich unsigned sein.
-
TactX schrieb:
sind diese Hakcs in aktuellen Compilern wie ICC (soll ja sau gut sein) implementiert?
-
tX]http://graphics.s schrieb:
TactX schrieb:
sind diese Hakcs in aktuellen Compilern wie ICC (soll ja sau gut sein) implementiert?
Was verstehst du hier unter "implementiert"?
-
dass er das automatisch für ne schleife oder so einseztt, wenn es schneller ist
-
Im Zweifelsfall Assembleroutput anschauen
-
Der ICC macht dir aus Schleifen eher SIMD-Code. Das ist nämlich die Spezialität des ICCs und vll das er Anweisungen so sotiert, dass die Intel CPUs diese rascher abarbeiten können.