This patch optimizes code generation by leveraging the zeroing behavior of the maskeqz/masknez instructions.
int sel(int a, int b) { return (a < b) ? a : 0; }
slt $a1,$a0,$a1 masknez $a2,$r0,$a1 maskeqz $a0,$a0,$a1 or $a0,$a0,$a2
>
slt $a1,$a0,$a1 maskeqz $a0,$a0,$a1
Can we just write
here? I see RISC-V uses an untyped 0 in similar select patterns.