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