https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93341
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
/* We should be able to reverse all conditions. */
gcc_assert (inv_cond_code != UNKNOWN);
Obvious this code is broken because The quiet UN* was converted into the an
unordered-signalling comparison which was bad.
Quote from the recent change:
And it would do the same in reverse: convert a quiet UN* into an
unordered-signalling comparison.
So obvious this code in aarch64_do_track_speculation was broken when it was
added, just the aarch64 back-end was broken to do the wrong thing in the first
place so we never able to hit the assert before hand.