]> git.ipfire.org Git - thirdparty/gcc.git/commit
[APX EGPR] Add register and memory constraints that disallow EGPR
authorKong Lingling <lingling.kong@intel.com>
Thu, 23 Mar 2023 06:21:33 +0000 (14:21 +0800)
committerHongyu Wang <hongyu.wang@intel.com>
Sat, 7 Oct 2023 08:34:30 +0000 (16:34 +0800)
commit835951d4ccf716f98329af174135f02c984488fa
treef74cd5b9cee042b2e79f1d591774d0e2504922d6
parentc9d504003a5ada3244eaecc1c258397bae9e221c
[APX EGPR] Add register and memory constraints that disallow EGPR

For APX, as we extended the GENERAL_REG_CLASS, new constraints are
needed to restrict insns that cannot adopt EGPR either in its reg or
memory operands. We added a series of constraints for general/backend
ones that related to GPR usage. All of them are prefixed with "j" to
indicate the constraints does not allow EGPR.

gcc/ChangeLog:

* config/i386/constraints.md (jr): New register constraint
that prohibits EGPR.
(jR): Constraint that force usage of EGPR.
(jm): New memory constraint that prohibits EGPR.
(ja): Likewise for Bm constraint.
(jb): Likewise for Tv constraint.
(j<): New auto-dec memory constraint that prohibits EGPR.
(j>): Likewise for ">" constraint.
(jo): Likewise for "o" constraint.
(jv): Likewise for "V" constraint.
(jp): Likewise for "p" constraint.
* config/i386/i386.h (enum reg_class): Add new reg class
GENERAL_GPR16.

Co-authored-by: Hongyu Wang <hongyu.wang@intel.com>
Co-authored-by: Hongtao Liu <hongtao.liu@intel.com>
gcc/config/i386/constraints.md
gcc/config/i386/i386.h