]> git.ipfire.org Git - thirdparty/gcc.git/commit
[APX CCMP] Support ccmp for float compare
authorHongyu Wang <hongyu.wang@intel.com>
Wed, 8 May 2024 03:08:42 +0000 (11:08 +0800)
committerHongyu Wang <hongyu.wang@intel.com>
Thu, 6 Jun 2024 07:29:48 +0000 (15:29 +0800)
commit0b6cea8783b9e1b86c5c7c277c301cb5931bc5e0
tree11a2b3a6d34b66882875db2b16e85f1f284d9293
parent23db87301b623ecf162c9df718ce82ed9aa354a8
[APX CCMP] Support ccmp for float compare

The ccmp insn itself doesn't support fp compare, but x86 has fp comi
insn that changes EFLAG which can be the scc input to ccmp. Allow
scalar fp compare in ix86_gen_ccmp_first except ORDERED/UNORDERD
compare which can not be identified in ccmp.

gcc/ChangeLog:

* config/i386/i386-expand.cc (ix86_gen_ccmp_first):
Add fp compare and check the allowed fp compare type.
(ix86_gen_ccmp_next): Adjust compare_code input to ccmp for
fp compare.

gcc/testsuite/ChangeLog:

* gcc.target/i386/apx-ccmp-1.c: Add test for fp compare.
* gcc.target/i386/apx-ccmp-2.c: Likewise.
gcc/config/i386/i386-expand.cc
gcc/testsuite/gcc.target/i386/apx-ccmp-1.c
gcc/testsuite/gcc.target/i386/apx-ccmp-2.c