2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-13 14:01:26 +08:00

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".
This commit is contained in:
Segher Boessenkool 2020-03-18 21:58:45 +00:00
parent 529ea7d959
commit 07fe4af4d5
2 changed files with 16 additions and 0 deletions
gcc

@ -1,3 +1,8 @@
2020-03-18 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/constraints.md (wd, wf, wi, ws, ww): New undocumented
aliases for "wa".
2020-03-12 Richard Sandiford <richard.sandiford@arm.com>
PR rtl-optimization/90275

@ -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}).")