i386: Add comparisons for 4-byte vectors [PR100637]
2021-05-21 Uroš Bizjak <ubizjak@gmail.com>
gcc/
PR target/100637
* config/i386/i386-expand.c (ix86_expand_sse_movcc):
Handle V4QI and V2HI modes.
(ix86_expand_sse_movcc): Ditto.
* config/i386/mmx.md (*<sat_plusminus:insn><VI_32:mode>3):
New instruction pattern.
(*eq<VI_32:mode>3): Ditto.
(*gt<VI_32:mode>3): Ditto.
(*xop_pcmov_<VI_32:mode>): Ditto.
(mmx_pblendvb32): Ditto.
(mmx_pblendvb64): Rename from mmx_pblendvb.
(vec_cmp<VI_32:mode><VI_32:mode>): New expander.
(vec_cmpu<VI_32:mode><VI_32:mode>): Ditto.
(vcond<VI_32:mode><VI_32:mode>): Ditto.
(vcondu<VI_32:mode><VI_32:mode>): Ditto.
(vcond_mask_<VI_32:mode><VI_32:mode>): Ditto.
gcc/testsuite/
PR target/100637
* g++.target/i386/pr100637-1b.C: New test.
* g++.target/i386/pr100637-1w.C: Ditto.
* gcc.target/i386/pr100637-2b.c: Ditto.
* gcc.target/i386/pr100637-2w.c: Ditto.
6 files changed