From: Segher Boessenkool Date: Wed, 18 Mar 2020 21:58:45 +0000 (+0000) Subject: rs6000: Add back some w* constraints (PR91886) X-Git-Tag: basepoints/gcc-11~809 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07fe4af4d51d74b63a76ea632d4db01d1f69f037;p=thirdparty%2Fgcc.git rs6000: Add back some w* constraints (PR91886) In May and June last year I deleted many of our (vector) constraints. We can now just use "wa" for those, together with some other conditions, which can be per alternative using the "enabled" attribute (which in turn primarily uses the "isa" attribute). But, it turns out that Clang implements some of those constraints as well, and at least musl uses some of them. It is easy for us to add those contraints back (as undocumented aliases to "wa", which always did mean the same thing for valid inline assembler code), so do that. gcc/ * config/rs6000/constraints.md (wd, wf, wi, ws, ww): New undocumented aliases for "wa". --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a2e491113e7..66202f0253f5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2020-03-18 Segher Boessenkool + + * config/rs6000/constraints.md (wd, wf, wi, ws, ww): New undocumented + aliases for "wa". + 2020-03-12 Richard Sandiford PR rtl-optimization/90275 diff --git a/gcc/config/rs6000/constraints.md b/gcc/config/rs6000/constraints.md index 4074a11da233..c600535e3eaf 100644 --- a/gcc/config/rs6000/constraints.md +++ b/gcc/config/rs6000/constraints.md @@ -45,6 +45,17 @@ FPR (@code{vs0}@dots{}@code{vs31} are @code{f0}@dots{}@code{f31}) or a VR (@code{vs32}@dots{}@code{vs63} are @code{v0}@dots{}@code{v31}).") +(define_register_constraint "wd" "rs6000_constraints[RS6000_CONSTRAINT_wa]" + "@internal A compatibility alias for @code{wa}.") +(define_register_constraint "wf" "rs6000_constraints[RS6000_CONSTRAINT_wa]" + "@internal A compatibility alias for @code{wa}.") +(define_register_constraint "wi" "rs6000_constraints[RS6000_CONSTRAINT_wa]" + "@internal A compatibility alias for @code{wa}.") +(define_register_constraint "ws" "rs6000_constraints[RS6000_CONSTRAINT_wa]" + "@internal A compatibility alias for @code{wa}.") +(define_register_constraint "ww" "rs6000_constraints[RS6000_CONSTRAINT_wa]" + "@internal A compatibility alias for @code{wa}.") + (define_register_constraint "h" "SPECIAL_REGS" "@internal A special register (@code{vrsave}, @code{ctr}, or @code{lr}).")