This is the mail archive of the
mailing list for the GCC project.
Re: REG_OK_STRICT and EXTRA_CONSTRAINT
Hans-Peter Nilsson wrote:
No, this is just a branch so don't worry.
Some ports, notably MMIX, are using different definitions of
EXTRA_CONSTRAINT depending on REG_OK_STRICT. This can be a bug, because
the same instruction may be considered invalid in reload.c and valid by
When I wrote that code, accounting for REG_OK_STRICT was not a
bug, but TRT. (I'm about two months behind on mailing list
reading, so I guess things may have changed as things tend to
Anyway, I was not meaning to *not* account for anything, but just to
replace REG_OK_STRICT with checks on reload_in_progress and
reload_completed. I understand the semantics that you wanted for 'U'.
The bug may be that in some cases, 'U' is checked for memory_address_p
instead of strict_memory_address_p even after reload, in particular when
it is recog.c that is constraining the operands.
My opinion is that regtesting and checking that the same
assembly is emitted before and after the patch would be
sufficient testing... It's definitely not safe without. ;)