diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2020-11-26 09:47:01 +0100 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2020-11-26 09:50:33 +0100 |
commit | acdf30d66cac11757e95541aa35f5ce97de29f63 (patch) | |
tree | 732c84d94d538a3feb2b6662d34c44a5314b760b /gcc/cp/parser.c | |
parent | e3068952d7540c51764d1e4e31ef8988492064cf (diff) | |
download | gcc-acdf30d66cac11757e95541aa35f5ce97de29f63.zip gcc-acdf30d66cac11757e95541aa35f5ce97de29f63.tar.gz gcc-acdf30d66cac11757e95541aa35f5ce97de29f63.tar.bz2 |
i386: Use SDWIM mode iterator for abs and maxmin [PR97873]
Generate special double mode sequence also for QImode and HImode.
Without QImode and HImode patterns, middle-end extends operands to SImode
and emits SImode conditional move instruction with paradoxical SImode output
register. This form is not recognized by STV pass, but a single abs with
input operand in a register would not be converted anyway due to relatively
high register conversion cost.
2020-11-26 Uroš Bizjak <ubizjak@gmail.com>
PR target/97873
gcc/
* config/i386/i386.md (abs<mode>2): Use SDWIM mode iterator.
(*abs<mode>2_1): Use SWI mode iterator.
(<maxmin:code><mode>3): Use SDWIM mode iterator.
(*<maxmin:code><mode>3_1): Use SWI mode iterator.
gcc/testsuite/
* gcc.target/i386/pr97873-3.c: New test.
Diffstat (limited to 'gcc/cp/parser.c')
0 files changed, 0 insertions, 0 deletions