Support 64-bit vectorization for single-precision floating rounding operation.
authorliuhongt <hongtao.liu@intel.com>
Fri, 16 Sep 2022 06:28:34 +0000 (14:28 +0800)
committerliuhongt <hongtao.liu@intel.com>
Tue, 20 Sep 2022 06:52:48 +0000 (14:52 +0800)
commitd0c73b6c85677e6755b60fa02d79a5c5e1a8eacd
treed4a94895d57deb8fc4de04f216bb90576906b334
parent3a035f1932eeb26f997cf28a5c752617dd09cb91
Support 64-bit vectorization for single-precision floating rounding operation.

Here's list the patch supported.
rint/nearbyint/ceil/floor/trunc/lrint/lceil/lfloor/round/lround.

gcc/ChangeLog:

PR target/106910
* config/i386/mmx.md (nearbyintv2sf2): New expander.
(rintv2sf2): Ditto.
(ceilv2sf2): Ditto.
(lceilv2sfv2si2): Ditto.
(floorv2sf2): Ditto.
(lfloorv2sfv2si2): Ditto.
(btruncv2sf2): Ditto.
(lrintv2sfv2si2): Ditto.
(roundv2sf2): Ditto.
(lroundv2sfv2si2): Ditto.
(*mmx_roundv2sf2): New define_insn.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr106910-1.c: New test.
gcc/config/i386/mmx.md
gcc/testsuite/gcc.target/i386/pr106910-1.c [new file with mode: 0644]