diff options
author | Richard Biener <rguenther@suse.de> | 2023-10-20 09:30:45 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-10-20 11:09:58 +0200 |
commit | 5dde64775baad91686a33edc020f74cfaa9078e5 (patch) | |
tree | 2b6a88a2d893cd8f0c0e7042369e404c6b309566 /libgcc/enable-execute-stack-empty.c | |
parent | 5f71e002f8881c8176efa54f83615d2270152e75 (diff) | |
download | gcc-5dde64775baad91686a33edc020f74cfaa9078e5.zip gcc-5dde64775baad91686a33edc020f74cfaa9078e5.tar.gz gcc-5dde64775baad91686a33edc020f74cfaa9078e5.tar.bz2 |
Fixup vect_get_and_check_slp_defs for gathers and .MASK_LOAD
I went a little bit too simple with implementing SLP gather support
for emulated and builtin based gathers. The following fixes the
conflict that appears when running into .MASK_LOAD where we rely
on vect_get_operand_map and the bolted-on STMT_VINFO_GATHER_SCATTER_P
checking wrecks that. The following properly integrates this with
vect_get_operand_map, adding another special index refering to
the vect_check_gather_scatter analyzed offset.
This unbreaks aarch64 (and hopefully riscv), I'll followup with
more fixes and testsuite coverage for x86 where I think I got
masked gather SLP support wrong.
* tree-vect-slp.cc (off_map, off_op0_map, off_arg2_map,
off_arg3_arg2_map): New.
(vect_get_operand_map): Get flag whether the stmt was
recognized as gather or scatter and use the above
accordingly.
(vect_get_and_check_slp_defs): Adjust.
(vect_build_slp_tree_2): Likewise.
Diffstat (limited to 'libgcc/enable-execute-stack-empty.c')
0 files changed, 0 insertions, 0 deletions