/* Copyright (C) 2023-2024 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ /* This file defines a set of "ISA modes"; in other words, it defines various bits of runtime state that control the set of available instructions or that affect the semantics of instructions in some way. Before using #include to read this file, define a macro: DEF_AARCH64_ISA_MODE(NAME) where NAME is the name of the mode. */ /* Indicates that PSTATE.SM is known to be 1 or 0 respectively. These modes are mutually exclusive. If neither mode is active then the state of PSTATE.SM is not known at compile time. */ DEF_AARCH64_ISA_MODE(SM_ON) DEF_AARCH64_ISA_MODE(SM_OFF) /* Indicates that PSTATE.ZA is known to be 1. The converse is that PSTATE.ZA might be 0 or 1, depending on whether there is an uncommitted lazy save. */ DEF_AARCH64_ISA_MODE(ZA_ON) #undef DEF_AARCH64_ISA_MODE