diff options
author | Jeff Law <jlaw@ventanamicro.com> | 2024-09-01 22:16:04 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2024-09-01 22:18:29 -0600 |
commit | 0562976d62e095f3a00c799288dee4e5b20114e2 (patch) | |
tree | 4d22213a967c8b51ac63665f30fc4beb5319150f /gcc/tree-vectorizer.h | |
parent | f77435aa3911c437cba71991509eee57b333b3ce (diff) | |
download | gcc-0562976d62e095f3a00c799288dee4e5b20114e2.zip gcc-0562976d62e095f3a00c799288dee4e5b20114e2.tar.gz gcc-0562976d62e095f3a00c799288dee4e5b20114e2.tar.bz2 |
[committed][PR rtl-optimization/116544] Fix test for promoted subregs
This is a small bug in the ext-dce code's handling of promoted subregs.
Essentially when we see a promoted subreg we need to make additional bit groups
live as various parts of the RTL path know that an extension of a suitably
promoted subreg can be trivially eliminated.
When I added support for dealing with this quirk I failed to account for the
larger modes properly and it ignored the case when the size of the inner object
was > 32 bits. Opps.
This does _not_ fix the outstanding x86 issue. That's caused by something
completely different and more concerning ;(
Bootstrapped and regression tested on x86. Obviously fixes the testcase on
riscv as well.
Pushing to the trunk.
PR rtl-optimization/116544
gcc/
* ext-dce.cc (ext_dce_process_uses): Fix thinko in promoted subreg
handling.
gcc/testsuite/
* gcc.dg/torture/pr116544.c: New test.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions