1 /* Definitions for option handling for SPARC.
2 Copyright (C) 1996-2024 Free Software Foundation, Inc.
4 This file is part of GCC.
6 GCC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3, or (at your option)
11 GCC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3. If not see
18 <http://www.gnu.org/licenses/>. */
23 /* SPARC processor type.
24 These must match the values for the cpu attribute in sparc.md and
25 the table in sparc_option_override. */
26 enum sparc_processor_type
{
39 PROCESSOR_SPARCLITE86X
,
44 PROCESSOR_ULTRASPARC3
,
54 /* SPARC-V9 code model type. See sparc.h for the full description. */
55 enum sparc_code_model_type
{
56 CM_32
, /* 32-bit address space. */
57 CM_MEDLOW
, /* 32-bit address space. */
58 CM_MEDMID
, /* 44-bit address space. */
59 CM_MEDANY
, /* 64-bit address space. */
60 CM_EMBMEDANY
/* 64-bit address space. */
63 /* SPARC memory model type. See Appendix D in the SPARC-V9 manual
64 for formal specification and Appendix J for more discussion. */
65 enum sparc_memory_model_type
{
66 SMM_DEFAULT
, /* Processor default. */
67 SMM_RMO
, /* Relaxed Memory Order. */
68 SMM_PSO
, /* Partial Store Order. */
69 SMM_TSO
, /* Total Store Order. */
70 SMM_SC
/* Sequential Consistency. */