[gcc r13-6415] simplify-rtx: Use byte in simplify_subreg rather than assume 0 offset
Andre Simoes Dias Vieira
avieira@gcc.gnu.org
Thu Mar 2 14:12:34 GMT 2023
https://gcc.gnu.org/g:61407e018940633a9ca997bf3773f794faa25e23
commit r13-6415-g61407e018940633a9ca997bf3773f794faa25e23
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu Mar 2 14:11:59 2023 +0000
simplify-rtx: Use byte in simplify_subreg rather than assume 0 offset
This patch fixes a missed review comment in an earlier patch using byte instead
of a 0 offset. Also improves the comment as suggested.
gcc/ChangeLog:
* simplify-rtx.cc (simplify_context::simplify_subreg): Use byte instead
of constant 0 offset.
Diff:
---
gcc/simplify-rtx.cc | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc
index 2c82256af66..3b33afa2461 100644
--- a/gcc/simplify-rtx.cc
+++ b/gcc/simplify-rtx.cc
@@ -7667,10 +7667,10 @@ simplify_context::simplify_subreg (machine_mode outermode, rtx op,
}
}
- /* Try simplifying a SUBREG expression of a non-integer OUTERMODE by using a
- NEW_OUTERMODE of the same size instead, other simplifications rely on
- integer to integer subregs and we'd potentially miss out on optimizations
- otherwise. */
+ /* If the outer mode is not integral, try taking a subreg with the equivalent
+ integer outer mode and then bitcasting the result.
+ Other simplifications rely on integer to integer subregs and we'd
+ potentially miss out on optimizations otherwise. */
if (known_gt (GET_MODE_SIZE (innermode),
GET_MODE_SIZE (outermode))
&& SCALAR_INT_MODE_P (innermode)
@@ -7680,7 +7680,7 @@ simplify_context::simplify_subreg (machine_mode outermode, rtx op,
{
rtx tem = simplify_subreg (int_outermode, op, innermode, byte);
if (tem)
- return simplify_gen_subreg (outermode, tem, int_outermode, 0);
+ return simplify_gen_subreg (outermode, tem, int_outermode, byte);
}
/* If OP is a vector comparison and the subreg is not changing the
More information about the Gcc-cvs
mailing list