i386: Improve vector mode and TFmode ABS and NEG patterns
authorUros Bizjak <ubizjak@gmail.com>
Mon, 18 May 2020 15:25:39 +0000 (17:25 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Mon, 18 May 2020 15:25:39 +0000 (17:25 +0200)
commit94f687bd9ae37ece9391a3c42783c5768d26e81d
tree42209d4d1b062a500ce4c4dcfd76ef4e2b836f6f
parentcfaf0edbb123958e84d296354152294f167db9f3
i386: Improve vector mode and TFmode ABS and NEG patterns

gcc/ChangeLog:

2020-05-18  Uroš Bizjak  <ubizjak@gmail.com>

* config/i386/i386-expand.c (ix86_expand_fp_absneg_operator):
Do not emit FLAGS_REG clobber for TFmode.
* config/i386/i386.md (*<code>tf2_1): Rewrite as
define_insn_and_split.  Mark operands 1 and 2 commutative.
(*nabstf2_1): Ditto.
(absneg SSE splitter): Use MODEF mode iterator instead of SSEMODEF.
Do not swap memory operands.  Simplify RTX generation.
(neg abs SSE splitter): Ditto.
* config/i386/sse.md (*<code><mode>2): Mark operands 1 and 2
commutative.  Do not swap operands.  Simplify RTX generation.
(*nabs<mode>2): Ditto.
gcc/ChangeLog
gcc/config/i386/i386-expand.c
gcc/config/i386/i386.md
gcc/config/i386/sse.md