diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2022-01-15 20:59:07 +0100 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2022-01-15 20:59:57 +0100 |
commit | f4a2cecd689c5dd805c86731f712ff20ca41a71d (patch) | |
tree | e9895c61313e030e2c93b1d54cc9ffb19af402b4 /libcpp/files.c | |
parent | dcf8fe1eeab668a4d24bcc4baa3ad185dbf1b5e0 (diff) | |
download | gcc-f4a2cecd689c5dd805c86731f712ff20ca41a71d.zip gcc-f4a2cecd689c5dd805c86731f712ff20ca41a71d.tar.gz gcc-f4a2cecd689c5dd805c86731f712ff20ca41a71d.tar.bz2 |
i386: Improve and optimize ix86_expand_sse_movcc
Modernize ix86_expand_sse_movcc to use expand_simple_{unop,binop}
infrastructure to avoid manual twiddling with output registers.
Also fix a couple of inconsistent vector_all_ones_operand usages,
break a couple of unnecessary else-if chains, eliminate common
subexpressions and do some general code simplifications.
2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
gcc/ChangeLog:
* config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
expand_simple_unop and expand_simple_binop instead of manually
constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
consistently. Eliminate common subexpressions and simplify code.
* config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
(<any_logic:code><MODEF:mode>3): Make public.
Diffstat (limited to 'libcpp/files.c')
0 files changed, 0 insertions, 0 deletions