]> git.ipfire.org Git - thirdparty/gcc.git/commit
Add pattern match in match.pd for .AVG_CEIL
authorliuhongt <hongtao.liu@intel.com>
Wed, 26 Feb 2025 06:48:27 +0000 (22:48 -0800)
committerliuhongt <hongtao.liu@intel.com>
Wed, 21 May 2025 00:33:10 +0000 (17:33 -0700)
commit72f0b446d2c03866ebe4cae125e32fef598e924d
tree2100365d6834a96bb5f243e0d75a519e0f1d84f0
parentfc12a4d6a854bafb5db8218aada66a19743e79ac
Add pattern match in match.pd for .AVG_CEIL

1) Optimize (a >> 1) + (b >> 1) + ((a | b) & 1) to .AVG_CEIL (a, b)
2) Optimize (a | b) - ((a ^ b) >> 1) to .AVG_CEIL (a, b)

gcc/ChangeLog:

PR middle-end/118994
* match.pd ((a >> 1) + (b >> 1) + ((a | b) & 1) to
.AVG_CEIL (a, b)): New pattern.
((a | b) - ((a ^ b) >> 1) to .AVG_CEIL (a, b)): Ditto.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr118994-1.c: New test.
* gcc.target/i386/pr118994-2.c: New test.
gcc/match.pd
gcc/testsuite/gcc.target/i386/pr118994-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr118994-2.c [new file with mode: 0644]