aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/match.c
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2020-07-06 01:10:54 +0200
committerHans-Peter Nilsson <hp@axis.com>2020-07-06 01:17:54 +0200
commit9596eccb9c64faa13750692b46dd0779aac0d57c (patch)
treeebcde04d5354812ffed4ce05c1e54f2a5f8cdab3 /gcc/fortran/match.c
parent65f8403f1a99f965ad3ed36adc4f889cf95ee1eb (diff)
downloadgcc-9596eccb9c64faa13750692b46dd0779aac0d57c.zip
gcc-9596eccb9c64faa13750692b46dd0779aac0d57c.tar.gz
gcc-9596eccb9c64faa13750692b46dd0779aac0d57c.tar.bz2
cris: update recent patterns. Simplify cris_select_cc_mode.
The code in cris_select_cc_mode for selecting CC_NZmode was partly inconsistent with the comment and partly seemed ambiguous. I couldn't find a reason why I qualified selection of CC_NZmode on the setting operation once a matching user was spotted, so I just removed that. The cris.c update was due to observing the new test-case failing; the CC_NZmode compare wasn't eliminated. The recently re-instated adds/addu/subs/subu/bound patterns are rewritten to replace the use of match_operator with iterators. gcc: * config/cris/cris.c (cris_select_cc_mode): Always return CC_NZmode for matching comparisons. Clarify comments. * config/cris/cris-modes.def: Clarify mode comment. * config/cris/cris.md (plusminus, plusminusumin, plusumin): New code iterators. (addsub, addsubbo, nd): New code iterator attributes. ("*<addsub><su>qihi"): Rename from "*extopqihi". Use code iterator constructs instead of match_operator constructs. ("*<addsubbo><su><nd><mode>si<setnz>"): Similar from "*extop<mode>si<setnz>". ("*add<su>qihi_swap"): Similar from "*addxqihi_swap". ("*<addsubbo><su><nd><mode>si<setnz>_swap"): Similar from "*extop<mode>si<setnz>_swap". gcc/testsuite: * gcc.target/cris/pr93372-39.c: New test.
Diffstat (limited to 'gcc/fortran/match.c')
0 files changed, 0 insertions, 0 deletions