https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #10) > No, they are not. The constraints are an implementation detail. And > they *have* to be, or we could never again improve anything. > > Unfortunately we currently document most of them in the user manual as > well. It's on my list of things to change, for GCC 10. Most targets > still have this problem, fwiw. I disagree with that. We do have public and internal constraints, public are roughly those that are documented in gcc.info (rather than gccint.info, i.e. things in md.texi not guarded with @ifset INTERNALS). In constraints.md one can also use @internal to mark constraint as internal. Limiting inline asm use to just what is in common.md is clearly insufficient. So, if "ws" has been documented in the user documentation, perhaps just (define_register_constraint "ws" "rs6000_constraints[RS6000_CONSTRAINT_wa]" "Compatibility alias to wa") could be added? If it has not been documented, it is fine to remove it.