Есть ли у условных веток флаги обновления в ARMv8
Я пытаюсь добиться чего-то похожего на следующий код C:
if(x<0)
{
<code A>
}
else if(x == 0)
{
<code B>
}
else //x > 0
{
<code C>
}
postIf code
Поэтому мне было интересно, смогу ли я сделать это, выполнив следующие действия в ARMv8, наборе команд AArch64:
cmp x_r, 0 //x_r macro for x19
b.lt neg
b.gt pos
<code B>
b postIf
neg:
<code A>
b postIf
pos:
<code C>
postIf:
<postIf Code>
Это работает? Флаги остаются установленными (или не установлены) после проверки условного перехода?
1 ответ
Да, это должно работать нормально. Инструкции перехода не изменяют флаги.