]> git.ipfire.org Git - thirdparty/gcc.git/commit
i386: Fix _mm_[u]comixx_{ss,sd} codegen and add PF result. [PR106113]
authorkonglin1 <lingling.kong@intel.com>
Fri, 15 Jul 2022 02:29:27 +0000 (10:29 +0800)
committerkonglin1 <lingling.kong@intel.com>
Fri, 15 Jul 2022 02:29:37 +0000 (10:29 +0800)
commitae69e6f61b93dcb5b1e7ef609431f100c1b9b2e5
treed8793d097421a7fa6282453e16a9a9e8d4d79b8b
parent4cbebddc2ce1e88216fec6aa89d111d8596bd34c
i386: Fix _mm_[u]comixx_{ss,sd} codegen and add PF result. [PR106113]

gcc/ChangeLog:

PR target/106113
* config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
comparison due to intrinsics changed over time.
* config/i386/i386-expand.cc (ix86_ssecom_setcc):
Add unordered check and mode for sse comi codegen.
(ix86_expand_sse_comi): Add unordered check and check a different
CCmode.
(ix86_expand_sse_comi_round):Extract unordered check and mode part
in ix86_ssecom_setcc.

gcc/testsuite/ChangeLog:

PR target/106113
* gcc.target/i386/avx-vcomisd-pr106113-2.c: New test.
* gcc.target/i386/avx-vcomiss-pr106113-2.c: Ditto.
* gcc.target/i386/avx-vucomisd-pr106113-2.c: Ditto.
* gcc.target/i386/avx-vucomiss-pr106113-2.c: Ditto.
* gcc.target/i386/sse-comiss-pr106113-1.c: Ditto.
* gcc.target/i386/sse-comiss-pr106113-2.c: Ditto.
* gcc.target/i386/sse-ucomiss-pr106113-1.c: Ditto.
* gcc.target/i386/sse-ucomiss-pr106113-2.c: Ditto.
* gcc.target/i386/sse2-comisd-pr106113-1.c: Ditto.
* gcc.target/i386/sse2-comisd-pr106113-2.c: Ditto.
* gcc.target/i386/sse2-ucomisd-pr106113-1.c: Ditto.
* gcc.target/i386/sse2-ucomisd-pr106113-2.c: Ditto.
14 files changed:
gcc/config/i386/i386-builtin.def
gcc/config/i386/i386-expand.cc
gcc/testsuite/gcc.target/i386/avx-vcomisd-pr106113-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx-vcomiss-pr106113-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx-vucomisd-pr106113-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx-vucomiss-pr106113-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-comiss-pr106113-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-comiss-pr106113-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-ucomiss-pr106113-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-ucomiss-pr106113-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-comisd-pr106113-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-comisd-pr106113-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-ucomisd-pr106113-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-ucomisd-pr106113-2.c [new file with mode: 0644]