Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/d3d_asm.c:
switch (ins->handler_idx) {
case VKD3DSIH_BRANCH:
if (vsir_register_is_label(&ins->src[0].reg))
break;
/* fall through */
Does it make sense to allow flags NZ and Z on BRANCH? The instruction specifies both labels anyway, so changing the flag is just equivalent to swapping the labels. It seems simpler to just say that flags NZ and Z do not apply and the first branch is always NZ and the second one is always Z.