On Wed, Nov 26, 2014 at 2:01 PM, Andrew Pinski <pins...@gmail.com> wrote: > On Wed, Nov 26, 2014 at 2:00 PM, Andrew Pinski <pins...@gmail.com> wrote: >> Hi, >> The problem here is lra_substitute_pseudo calls gen_rtx_SUBREG with >> a VOIDmode (const_int) argument but really it should not be calling >> gen_rtx_SUBREG directly instead it should be using >> gen_lowpart_if_possible. This patch fixes that and adds a testcase >> that had happened on x86_64. > > I forgot to say I ran into this issue first on aarch64-linux-gnu while > building libgo. > > Thanks, > Andrew > >> >> OK? I bootstrapped and tested this on both aarch64-linux-gnu and >> x86_64-linux-gnu with no regression on either. >> >> Thanks, >> Andrew Pinski >> >> ChangeLog: >> * lra.c (lra_substitute_pseudo): Use gen_lowpart_if_possible >> instead of gen_rtx_SUBREG/gen_lowpart_SUBREG. >> >> testsuite/ChangeLog: >> >> * gcc.dg/pr64061.c: New testcase.
Vladimir fixed it with a different patch: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=218171 -- H.J.