On Thu, Aug 30, 2018 at 2:47 AM Richard Sandiford <richard.sandif...@arm.com> wrote: > > Joey Ye <joey.ye...@gmail.com> writes: > > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c > > index 07c55b1..9e965ab 100644 > > --- a/gcc/config/aarch64/aarch64.c > > +++ b/gcc/config/aarch64/aarch64.c > > @@ -5674,9 +5674,6 @@ aarch64_classify_address (struct aarch64_address_info > > *info, > > && (code != POST_INC && code != REG)) > > return false; > > > > - gcc_checking_assert (GET_MODE (x) == VOIDmode > > - || SCALAR_INT_MODE_P (GET_MODE (x))); > > - > > switch (code) > > { > > case REG: > > diff --git a/gcc/recog.c b/gcc/recog.c > > index 0a8fa2c..510aba2 100644 > > --- a/gcc/recog.c > > +++ b/gcc/recog.c > > @@ -1070,6 +1070,11 @@ general_operand (rtx op, machine_mode mode) > > int > > address_operand (rtx op, machine_mode mode) > > { > > + /* Wrong mode for an address expr. */ > > + if (GET_MODE (op) != VOIDmode > > + && ! SCALAR_INT_MODE_P (GET_MODE (op))) > > + return false; > > + > > return memory_address_p (mode, op); > > } > > > > The address_operand part is OK, thanks. > > I think we should keep the assert in aarch64_classify_address, since > IMO it's a bug for anything else to reach that point.
Hi Joey, Could you help me update the patch as suggested by Richard and commit it please? My new assignment is still on the way. Thanks very much! Thanks, bin > > Richard