A preferência do SIMD é sempre se livrar da ramificaçã

Se você estiver escrevendo algum código SIMD que será executado por outro programa, é sempre favorável livrar-se da ramificação para aumentar o desempenho? Ouvi dizer que mesmo fazendo operações extras apenas para evitarif/else instruções, etc, ainda é muito mais rápid

Eu pergunto isso porque eu tenho algumas ramificações que eu faço, basicamente assim:

//  axis; x=0, y=1, z=2

float p, q;
if (axis == 0)
{
    p = point.y;
    q = point.z;
}
else if (axis == 1)
{
    p = point.x;
    q = point.z;
}
else if (axis == 2)
{
    p = point.x;
    q = point.y;
}

Posso evitar esse tipo de ramificação com algum truque inteligente?

questionAnswers(2)

yourAnswerToTheQuestion