cris.md: Reinstate add/sub with extend
authorHans-Peter Nilsson <hp@axis.com>
Sun, 5 Jul 2020 22:52:39 +0000 (00:52 +0200)
committerHans-Peter Nilsson <hp@axis.com>
Sun, 5 Jul 2020 23:17:25 +0000 (01:17 +0200)
commit65f8403f1a99f965ad3ed36adc4f889cf95ee1eb
tree21ff95af33cf2bc8ce70be715619cb5336bea220
parentcc9a9229285a26ac12bc8de53237ce9c4d42f867
cris.md: Reinstate add/sub with extend

When cleaning out the multitude of patterns with unknown
coverage, this one went the way of the bathwater.  It's use is
barely common enough to mark when diffing libgcc, and has a
minimal impact on performance-testsuites.  Anyway, reinstated
with a couple of test-cases.  It's suboptimal of gcc-core not to
make use of the SImode pattern when performing HImode; see the
FIXME (which is actually also reinstated).

This version uses match_operator, for continuity but will be
replaced with a version making use of iterators (like it does
for the mode).

gcc:
* config/cris/cris.md ("*extopqihi", "*extop<mode>si<setnz>_swap")
("*extop<mode>si<setnz>", "*addxqihi_swap"): Reinstate.

gcc/testsuite:
* gcc.target/cris/pr93372-36.c, gcc.target/cris/pr93372-37.c,
gcc.target/cris/pr93372-38.c: New tests.
gcc/config/cris/cris.md
gcc/testsuite/gcc.target/cris/pr93372-36.c [new file with mode: 0644]
gcc/testsuite/gcc.target/cris/pr93372-37.c [new file with mode: 0644]
gcc/testsuite/gcc.target/cris/pr93372-38.c [new file with mode: 0644]