diff options
author | Richard Biener <rguenther@suse.de> | 2024-10-04 11:13:58 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2024-10-05 13:59:32 +0200 |
commit | 515f015f3cc4978b8b02bb61ba50ba67d2a24065 (patch) | |
tree | d1c15f375c5c65e6cc29f2fb39e98d24cfadaaca /ar-lib | |
parent | 7d736ecbc05a35f73fbd8e3b010d6e9821c34404 (diff) | |
download | gcc-515f015f3cc4978b8b02bb61ba50ba67d2a24065.zip gcc-515f015f3cc4978b8b02bb61ba50ba67d2a24065.tar.gz gcc-515f015f3cc4978b8b02bb61ba50ba67d2a24065.tar.bz2 |
Improve load permutation lowering
The following makes sure the emitted even/odd extraction scheme
follows one that ends up with actual trivial even/odd extract permutes.
When we choose a level 2 extract we generate { 0, 1, 4, 5, ... }
which for example the x86 backend doesn't recognize with just SSE
and QImode elements. So this now follows what the non-SLP interleaving
code would do which is element granular even/odd extracts.
This resolves gcc.dg/vect/vect-strided[-a]-u8-i8-gap*.c FAILs with
--param vect-force-slp=1 on x86_64.
* tree-vect-slp.cc (vect_lower_load_permutations): Prefer
level 1 even/odd extracts.
Diffstat (limited to 'ar-lib')
0 files changed, 0 insertions, 0 deletions