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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 35258
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35258&action=edit
gcc5-pr65689.patch

Untested fix.  For aarch64, there are lots of constraints determined by this
patch to not allow either reg or mem:
S, Y, Ush, Uss, Usn, Usd, Usf, Ui3, Up3, Ufc, Dn, Dh, Dq, Dl, Dr, Dz, Dd
and then
V, <, >
determined as only *allows_mem.  But '<' and '>' are already handled in
process_*_constraint earlier, so it is just V.  The rest are determined
(conservatively) to allow either.
On x86_64, G is determined to allow neither, V, <, > similarly to aarch64 to
only *allows_mem, the rest maybe both.

Reply via email to