The Add/Sub combine removes a zext when present on a boolean operation,
which is problematic if the resultant addcarry stays in sgpr (is not
moved to vgpr during si-fix-sgpr-copies). In the absence of v_cndmask
that is normally generated for such a zext, the resultant condition code
can have bits set for inactive lanes which can produce wrong results.
Therefore, it is necessary to clear bits set for inactive lanes if
the result of boolean operation is fed into S_ADD_CO_PSEUDO/S_SUB_CO_PSEUDO.