diff options
author | liuhongt <hongtao.liu@intel.com> | 2022-10-10 11:31:48 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2022-10-11 17:22:38 +0800 |
commit | 498ad738690b3c464f901d63dcd4d0f49a50dd00 (patch) | |
tree | bd1dc1dc6a1d40408c55298ca28ddbc4a7638d90 /gcc/range-op-float.cc | |
parent | c4d15dddf6b9eacb36f535807ad2ee364af46e04 (diff) | |
download | gcc-498ad738690b3c464f901d63dcd4d0f49a50dd00.zip gcc-498ad738690b3c464f901d63dcd4d0f49a50dd00.tar.gz gcc-498ad738690b3c464f901d63dcd4d0f49a50dd00.tar.bz2 |
Add define_insn_and_split to support general version of "kxnor".
For genereal_reg_operand, it will be splitted into xor + not.
For mask_reg_operand, it will be splitted with UNSPEC_MASK_OP just
like what we did for other logic operations.
The patch will optimize xor+not to kxnor when possible.
gcc/ChangeLog:
PR target/107093
* config/i386/i386.md (*notxor<mode>_1): New post_reload
define_insn_and_split.
(*notxorqi_1): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr107093.c: New test.
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions