The C constraint on x86 is defined, in both the doc and the comments, as
"constant that can be easily constructed in SSE register without loading
from memory". Currently the only one handled is 0, but there is at
least
one more, all 1 bits, which is constructed by
pcmpeqd %xmm, %xmm
Unfortunately there are quite a few places in the patterns that assume
C
means zero, and generate pxor or something like that. What would be
the preferred way to fix this, new constraint or change the existing
patterns?