Because the instruction raises a software exception if the test fails. This is a rather heavy-handed reaction, although I guess it kind of makes sense from the instruction's point of view I guess.
Of course a language runtime based on using this instruction needs to capture the exception and handle it, core-dumping need not be the only option at that point.