This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
x86 SSE constants
- From: Dale Johannesen <dalej at apple dot com>
- To: gcc mailing list <gcc at gcc dot gnu dot org>
- Cc: Dale Johannesen <dalej at apple dot com>
- Date: Fri, 30 Sep 2005 12:53:02 -0700
- Subject: x86 SSE constants
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?