]> git.ipfire.org Git - thirdparty/gcc.git/commit
rtl: relax validate_subreg to allow paradoxical subregs that change mode
authorTamar Christina <tamar.christina@arm.com>
Mon, 2 Oct 2023 10:50:24 +0000 (11:50 +0100)
committerTamar Christina <tamar.christina@arm.com>
Mon, 2 Oct 2023 10:50:24 +0000 (11:50 +0100)
commita35ab1c1a3d04c28519a062fedfebda818b927a4
tree0b35bc21b91914ecc96356907eff4fe6d0d8f6dc
parent19610580d49f3d2d8d511fba55b39efa0764dfc2
rtl: relax validate_subreg to allow paradoxical subregs that change mode

This patch relaxes the subreg invariant that you can only change modes
or make it paradoxical in one conversion. i.e. it now allows subreg:V2DI (reg:DF ..))

This is well defined in the generic sense and allowing it would enable
you to write RTL without the extra moves which can be interfered with by
combine.

Patch has been pre-approved[1], but giving people chance to object

[1] https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629119.html

gcc/ChangeLog:

* emit-rtl.cc (validate_subreg): Relax subreg rule.
gcc/emit-rtl.cc