]> git.ipfire.org Git - thirdparty/gcc.git/commit
gcc/expr.c: Remove historic workaround for broken SIMD subreg
authorJonathan Wright <jonathan.wright@arm.com>
Mon, 11 Oct 2021 17:37:32 +0000 (18:37 +0100)
committerJonathan Wright <jonathan.wright@arm.com>
Thu, 4 Nov 2021 14:50:55 +0000 (14:50 +0000)
commit2fc20260619b9f68044b7a3eb042726a382b5002
tree953d804f181780777925d5ca4867a95272f10e1a
parent8197ab94b47c814632d758dd36a121ad4114ff70
gcc/expr.c: Remove historic workaround for broken SIMD subreg

A long time ago, using a parallel to take a subreg of a SIMD register
was broken. This temporary fix[1] (from 2003) spilled these registers
to memory and reloaded the appropriate part to obtain the subreg.

The fix initially existed for the benefit of the PowerPC E500 - a
platform for which GCC removed support a number of years ago.
Regardless, a proper mechanism for taking a subreg of a SIMD register
exists now anyway.

This patch removes the workaround thus preventing SIMD registers
being dumped to memory unnecessarily - which sometimes can't be fixed
by later passes.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2003-April/102099.html

gcc/ChangeLog:

2021-10-11  Jonathan Wright  <jonathan.wright@arm.com>

* expr.c (emit_group_load_1): Remove historic workaround.
gcc/expr.c