diff options
author | Xi Ruoyao <xry111@xry111.site> | 2025-01-20 23:13:19 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2025-02-19 14:34:45 +0800 |
commit | cef5f23adb6f9f052d03286ad8ccf352eefccf86 (patch) | |
tree | 197ff341d45bc2d53c114121984b8f4f0d3cf517 /gcc/tree-ssa-loop-prefetch.cc | |
parent | 7c54e46b209664d3a501a03908339c9903d01f1e (diff) | |
download | gcc-cef5f23adb6f9f052d03286ad8ccf352eefccf86.zip gcc-cef5f23adb6f9f052d03286ad8ccf352eefccf86.tar.gz gcc-cef5f23adb6f9f052d03286ad8ccf352eefccf86.tar.bz2 |
LoongArch: Implement [su]dot_prod* for LSX and LASX modes
Despite it's just a special case of "a widening product of which the
result used for reduction," having these standard names allows to
recognize the dot product pattern earlier and it may be beneficial to
optimization. Also fix some test failures with the test cases:
- gcc.dg/vect/vect-reduc-chain-2.c
- gcc.dg/vect/vect-reduc-chain-3.c
- gcc.dg/vect/vect-reduc-chain-dot-slp-3.c
- gcc.dg/vect/vect-reduc-chain-dot-slp-4.c
gcc/ChangeLog:
* config/loongarch/simd.md (wvec_half): New define_mode_attr.
(<su>dot_prod<wvec_half><mode>): New define_expand.
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/wide-mul-reduc-2.c (dg-final): Scan
DOT_PROD_EXPR in optimized tree.
Diffstat (limited to 'gcc/tree-ssa-loop-prefetch.cc')
0 files changed, 0 insertions, 0 deletions