On Tue, Oct 27, 2020 at 7:13 PM Richard Sandiford
<richard.sandif...@arm.com> wrote:
>
> Hongtao Liu via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> > Hi:
> >   For inline asm, there could be an operand like (not (mem:)), it's
> > not a valid operand for normal memory constraint.
> >   Bootstrap is ok, regression test is ok for make check
> > RUNTESTFLAGS="--target_board='unix{-m32,}'"
> >
> > gcc/ChangeLog
> >         PR target/97540
> >         * ira.c: (ira_setup_alts): Extract memory from operand only
> >         for special memory constraint.
> >         * recog.c (asm_operand_ok): Ditto.
> >         * lra-constraints.c (process_alt_operands): MEM_P is
> >         required for normal memory constraint.
> >
> > gcc/testsuite/ChangeLog
> >         * gcc.target/i386/pr97540.c: New test.
>
> Sorry to stick my oar in, but I think we should reconsider the
> bcst_mem_operand approach.  It seems like these patches (and the
> previous one) are fighting against the principle that operands
> cannot be arbitrary expressions.
>
> This kind of thing was attempted long ago (even before my time!)
> for SIGN_EXTEND on MIPS.  It ended up causing more problems than
> it solved and in the end it had to be taken out.  I'm worried that
> we might end up going through the same cycle again.
>

Could you provide the thread link for the issue of SIGN_EXTEND on
MIPS, then I can take a look to see if it's exactly the same issue as
mine.



-- 
BR,
Hongtao

Reply via email to