https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69459

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
We need to adjust md.texi too.
Also, I see there are 7 different uses of constraint "C" in i386.md with
general_operand predicate, are you sure you don't want "BC" for those?
Stuff like
*movti_internal
*movdi_internal
*movsi_internal
*movtf_internal
*movxf_internal
*movdf_internal
*movsf_internal
Though, all those don't use vector mode on those operands, and I bet
standard_sse_constant_p in that case never returns 2, so maybe that is fine.

But then there is another thing, the old "C" would never match anything, not
even the const0_rtx/CONST0_RTX, if !TARGET_SSE, while your patch matches it no
matter whether -msse is on or not.  E.g. for the above mentioned *mov*_internal
insns, but there it is used if the destination is y, x, v constraint.  But e.g.
in *movxf_internal it is into o.

Reply via email to