i386: Introduce V2QImode vectorized logic [PR103861]
commit708b87dcb6e48cb48d170a4b3625088995377a5c
authorUros Bizjak <ubizjak@gmail.com>
Tue, 4 Jan 2022 18:41:47 +0000 (4 19:41 +0100)
committerUros Bizjak <ubizjak@gmail.com>
Tue, 4 Jan 2022 18:43:54 +0000 (4 19:43 +0100)
tree36d096d9dc06a0844840e21628ed42aad606f651
parentdd8020032401f6dcd76c41017fcf75816490836d
i386: Introduce V2QImode vectorized logic [PR103861]

Add V2QImode logic operations with SSE and GP registers and split
them to V4QImode SSE instructions or SImode GP instructions.

The patch also fixes PR target/103900.

2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>

gcc/ChangeLog:

PR target/103861
* config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
(one_cmplv2qi3 splitters): New post-reload splitters.
(*andnotv2qi3): New insn pattern.
(andnotv2qi3 splitters): New post-reload splitters.
(<any_logic:code>v2qi3): New insn pattern.
(<any_logic:insn>v2qi3 splitters): New post-reload splitters.

gcc/testsuite/ChangeLog:

PR target/103861
* gcc.target/i386/warn-vect-op-2.c: Adjust warnings.
* gcc.target/i386/pr103900.c: New test.
gcc/config/i386/mmx.md
gcc/testsuite/gcc.target/i386/pr103900.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/warn-vect-op-2.c