On 07/01/2024 11:04, LIU Hao via Gcc-help wrote:
在 2024/1/6 2:46, Segher Boessenkool 写道:
The C constraint means "Any operand whatsoever is allowed." Here you
are saying to use it both as input and as output, and GCC does not know
how to reload wherever it chose to put it.
Would you mind elaborating a bit more? On x86 and x86-64 it's almost
always the case that an expression can be used as either a source or a
destination.
Note that for my usage, there is no assembly instruction and therefore
it doesn't matter what sources or destinations are possible. And it is
not x86 specific - I have used the same arrangement (with "g" rather
than "X") on several different targets.