aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-pass.h
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2023-12-04 11:47:32 +0800
committerliuhongt <hongtao.liu@intel.com>2023-12-05 09:35:25 +0800
commit48cf8d0773fee2f7acf2b9778c7af7e344de07e6 (patch)
tree734335a2a0d9e4e290833d5dcd6d0b1345addad6 /gcc/tree-pass.h
parent1f1c432226cf3db399b2a2a627e3c5720b02b1d6 (diff)
downloadgcc-48cf8d0773fee2f7acf2b9778c7af7e344de07e6.zip
gcc-48cf8d0773fee2f7acf2b9778c7af7e344de07e6.tar.gz
gcc-48cf8d0773fee2f7acf2b9778c7af7e344de07e6.tar.bz2
Support udot_prodv*qi with emulation sdot_prodv*hi
Like r14-5990-gb4a7c1c8c59d19, but the patch optimized for udot_prod. Since (zero_extend) (unsigned char)-> int is equal to (zero_extend)(unsigned char) -> short + (sign_extend) (short) -> int It should be safe to emulate udot_prodv*qi with vec_unpacku_lo_v32qi vec_unpacku_lo_v32qi vec_unpacku_hi_v32qi vec_unpacku_hi_v32qi sdot_prodv16hi sdot_prodv16hi add3v8si gcc/ChangeLog: * config/i386/sse.md (udot_prodv64qi): New expander. (udot_prod<mode>): Emulates with VEC_UNPACKU_EXPR + DOT_PROD (short, int). gcc/testsuite/ChangeLog: * gcc.target/i386/udotprodint8_emulate.c: New test.
Diffstat (limited to 'gcc/tree-pass.h')
0 files changed, 0 insertions, 0 deletions