Respostas:
Este é um operador de redução pouco a pouco . |a & bsignifica que você aplica um OR lógico a todos os bits de a(produzindo um único bit) e, em seguida, executa um AND lógico desse bit e b. |anão tem efeito quando aé um único bit.
No entanto, é bastante comum ver a redução bit a bit aplicada a valores de bit único. Um caso típico é o código gerado automaticamente, em que a largura real apode depender da configuração. Outra possibilidade é que este seja um código legado, que ajá teve vários bits. Quando ase tornou um valor de bit único, essa linha ainda estava tecnicamente correta, então o operador de redução agora desnecessário foi deixado em.