i386: Implement FP vector compares for V2SFmode [PR98218]
Implement FP vector compares for V2SFmode for TARGET_MMX_WITH_SSE.
2021-05-12 Uroš Bizjak <ubizjak@gmail.com>
gcc/
PR target/98218
* config/i386/i386-expand.c (ix86_expand_sse_movcc): Handle V2SF mode.
* config/i386/mmx.md (MMXMODE124): New mode iterator.
(V2FI): Ditto.
(mmxintvecmode): New mode attribute.
(mmxintvecmodelower): Ditto.
(*mmx_maskcmpv2sf3_comm): New insn pattern.
(*mmx_maskcmpv2sf3): Ditto.
(vec_cmpv2sfv2si): New expander.
(vcond<V2FI:mode>v2si): Ditto.
(mmx_vlendvps): New insn pattern.
(vcond<MMXMODE124:mode><MMXMODEI:mode>): Also handle V2SFmode.
(vcondu<MMXMODE124:mode><MMXMODEI:mode>): Ditto.
(vcond_mask_<mode><mmxintvecmodelower>): Ditto.
gcc/testsuite/
PR target/98218
* g++.target/i386/pr98218-1.C: Ditto.
* gcc.target/i386/pr98218-4.c: New test.
* gcc.target/i386/pr98218-1.c: Correct PR number.
* gcc.target/i386/pr98218-1a.c: Ditto.
* gcc.target/i386/pr98218-2.c: Ditto.
* gcc.target/i386/pr98218-2a.c: Ditto.
* gcc.target/i386/pr98218-3.c: Ditto.
* gcc.target/i386/pr98218-3a.c: Ditto.