# GVN 0/non-0 inference removes @yesyes, @yesno, @noyes, @nono export function w $test(w %c) { @start jnz %c, @yes, @no @yes %c0 =w cnew %c, 0 jnz %c0, @yesyes, @yesno @yesyes %rc =w copy 1 jmp @end @yesno %rc =w copy 111 jmp @end @no %c1 =w cnew %c, 0 jnz %c1, @noyes, @nono @noyes %rc =w copy 222 jmp @end @nono %rc =w copy 0 @end ret %rc } # >>> driver # int test(int); # int main(void) { return test(0); } # <<<