diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2020-07-06 01:10:54 +0200 |
---|---|---|
committer | Hans-Peter Nilsson <hp@axis.com> | 2020-07-06 01:17:54 +0200 |
commit | 9596eccb9c64faa13750692b46dd0779aac0d57c (patch) | |
tree | ebcde04d5354812ffed4ce05c1e54f2a5f8cdab3 /gcc/fortran/match.c | |
parent | 65f8403f1a99f965ad3ed36adc4f889cf95ee1eb (diff) | |
download | gcc-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