Hongtao Liu via Gcc-patches <gcc-patches@gcc.gnu.org> writes: > 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.
I couldn't find anything, sorry. The patch that finally removed the MIPS handling was: https://gcc.gnu.org/pipermail/gcc-patches/2002-October/088178.html I know there was some discussion about the problems around then, but some of it might have been private rather than on-list. I can't remember the details now. Thanks, Richard