arc: Fail conditional move expand patterns
authorClaudiu Zissulescu <claziss@synopsys.com>
Fri, 25 Feb 2022 11:39:22 +0000 (13:39 +0200)
committerClaudiu Zissulescu <claziss@synopsys.com>
Fri, 25 Feb 2022 12:51:30 +0000 (14:51 +0200)
commitd54cdd1538deebed97fb9531dc3e1a42eaf0a80f
tree14c2794f8ec5ffa4806ce8353335296262cedf16
parente25dce501334053239dcc433e4c46ecbddbcb13e
arc: Fail conditional move expand patterns

If the movcc comparison is not valid it triggers an assert in the
current implementation.  This behavior is not needed as we can FAIL
the movcc expand pattern.

gcc/
* config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
comparison is not valid.
* config/arc/arc.md (movsicc): Fail if comparison is not valid.
(movdicc): Likewise.
(movsfcc): Likewise.
(movdfcc): Likewise.

Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
gcc/config/arc/arc.cc
gcc/config/arc/arc.md