El truco de punto flotante que vectoriza clz y ctz
Vectorized CLZ and CTZ
El autor muestra cómo implementar clz y ctz vectorizados usando trucos de punto flotante: sustituir el entero en la mantisa de un double y restar para extraer el exponente. En Haswell, clz vectorizado corre a 0.45 ns por iteración frente a 1 ns del escalar. También explora alternativas con secuencias de Bruijn y una versión de 64 bits con vpsadbw que logra 0.63 ns.
En mi Haswell, esto corre a 0.45 ns por iteración, comparado con 1 ns para la versión escalar.