From: Andre Vieira Date: Thu, 2 Mar 2023 14:11:59 +0000 (+0000) Subject: simplify-rtx: Use byte in simplify_subreg rather than assume 0 offset X-Git-Tag: upstream/13.1.0~829 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61407e018940633a9ca997bf3773f794faa25e23;p=platform%2Fupstream%2Fgcc.git 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 --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc index 2c82256..3b33afa 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