]> git.ipfire.org Git - thirdparty/gcc.git/commit
i386: Add minmax and abs patterns for 4-byte vectors [PR100637]
authorUros Bizjak <ubizjak@gmail.com>
Fri, 21 May 2021 06:01:34 +0000 (08:01 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Fri, 21 May 2021 06:02:27 +0000 (08:02 +0200)
commitdcde81134cb24da8e261a4346c806c676297922b
treea7d62375332c769fd9ca821123036a00f8125c24
parent11784fe27d879a10dc8a79212c37f50d4f7146f3
i386: Add minmax and abs patterns for 4-byte vectors [PR100637]

2021-05-21  Uroš Bizjak  <ubizjak@gmail.com>

gcc/
PR target/100637
* config/i386/mmx.md (SMAXMIN_MMXMODEI): New mode iterator.
(<smaxmin:code><SMAXMIN_MMXMODEI:mode>3): Macroize expander
from <smaxmin:code>v4hi3> and <smaxmin:code><MMXMODE14:mode>3
using SMAXMIN_MMXMODEI mode iterator.
(*<smaxmin:code>v4qi3): New insn pattern.
(*<smaxmin:code>v2hi3): Ditto.
(SMAXMIN_VI_32): New mode iterator.
(<smaxmin:code><SMAXMIN_VI_32>mode3): New expander.

(UMAXMIN_MMXMODEI): New mode iterator.
(<umaxmin:code><UMAXMIN_MMXMODEI:mode>3): Macroize expander
from <umaxmin:code>v8qi3> and <umaxmin:code><MMXMODE24:mode>3
using UMAXMIN_MMXMODEI mode iterator.
(*<umaxmin:code>v4qi3): New insn pattern.
(*<umaxmin:code>v2hi3): Ditto.
(UMAXMIN_VI_32): New mode iterator.
(<umaxmin:code><UMAXMIN_VI_32>mode3): New expander.

(abs<VI_32:mode>2): New insn pattern.
(ssse3_abs<MMXMODEI:mode>2, abs<MMXMODEI:mode>2): Move from ...
* config/i386/sse.md: ... here.
gcc/config/i386/mmx.md
gcc/config/i386/sse.md