Instruction set supported masking makes it easier to do per lane control flow, like "if else", familiar from the shader programming model (and Intel's ISPC) where you write a function that operates on one datum, and it gets compiled into code where individual SIMD lanes may by masked depending on which side of a data dependent branch they are executing.
(I don't know what the GCC change is though)