]> gcc.gnu.org Git - gcc.git/commit
Refine maskloadmn pattern with UNSPEC_MASKLOAD.
authorliuhongt <hongtao.liu@intel.com>
Tue, 20 Jun 2023 07:41:00 +0000 (15:41 +0800)
committerliuhongt <hongtao.liu@intel.com>
Sun, 25 Jun 2023 04:06:13 +0000 (12:06 +0800)
commitc79476da46728e2ab17e0e546262d2f6377081aa
tree8359ff82323c28eee0d8650571d696e1dedb4327
parentec1f1d3f7abd0fe52e38cf8ad5c1e5074d67cdf5
Refine maskloadmn pattern with UNSPEC_MASKLOAD.

If mem_addr points to a memory region with less than whole vector size
bytes of accessible memory and k is a mask that would prevent reading
the inaccessible bytes from mem_addr, add UNSPEC_MASKLOAD to prevent
it to be transformed to vpblendd.

gcc/ChangeLog:

PR target/110309
* config/i386/sse.md (maskload<mode><avx512fmaskmodelower>):
Refine pattern with UNSPEC_MASKLOAD.
(maskload<mode><avx512fmaskmodelower>): Ditto.
(*<avx512>_load<mode>_mask): Extend mode iterator to
VI12HFBF_AVX512VL.
(*<avx512>_load<mode>): Ditto.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr110309.c: New test.
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/pr110309.c [new file with mode: 0644]
This page took 0.065174 seconds and 5 git commands to generate.