https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106770
--- Comment #10 from Surya Kumari Jangala <jskumari at gcc dot gnu.org> --- The swap pass analyzes vector computations and removes unnecessary doubleword swaps (xxswapdi instructions). The swap pass first constructs webs and removes swap instructions if possible. If the web contains operations that are sensitive to element order, such as an extract, then such instructions should be modified. For example, the lane is changed on an extract operation. As we saw in comment 9, the swap pass has incorrectly changed the lane of the vec_extract. The swap pass modifies the extract operation even though there are no swap instructions in the web. This is a bug in the swap pass. It should modify only those operations which are present in webs having swap instructions.