On Tue, Apr 17, 2018 at 11:00:35AM +0200, Eric Botcazou wrote: > Right, they were originally alike, but someone you know very well changed it: > > 2013-12-17 Jakub Jelinek <ja...@redhat.com> > > * expr.c (convert_modes): For SUBREG_PROMOTED_VAR_P use SUBREG_REG (x) > instead of x as last gen_lowpart argument.
Heh, https://gcc.gnu.org/ml/gcc-patches/2013-12/msg01455.html > > > 2018-04-17 Jakub Jelinek <ja...@redhat.com> > > > > PR middle-end/85414 > > * simplify-rtx.c (simplify_unary_operation_1) <case SIGN_EXTEND, > > case ZERO_EXTEND>: Pass SUBREG_REG (op) rather than op to > > gen_lowpart_no_emit. > > * rtlhooks.c (gen_lowpart_if_possible): Don't call gen_lowpart_SUBREG > > on a SUBREG. > > > > * gcc.dg/pr85414.c: New test. > > I'd say, either we change both convert_move and simplify-rtx.c for GCC 8 or > we > change none of them. You're the RM so it's more of your call than mine. Ok, I'll commit the first patch then and change all 3 spots (expr.c and 2x simplify-rtx.c) for GCC 9 then. Jakub