Hi,

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.

Bootstrapped and regression tested on aarch64-none-linux-gnu and
x86_64-pc-linux-gnu - no issues.

Ok for master?

Thanks,
Jonathan

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

---

gcc/ChangeLog:

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

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

Attachment: rb14923.patch
Description: rb14923.patch

Reply via email to