/* Definitions for option handling for IBM S/390.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1999-2024 Free Software Foundation, Inc.
This file is part of GCC.
#ifndef S390_OPTS_H
#define S390_OPTS_H
-/* Which processor to generate code or schedule for. The cpu attribute
+/* Which processor to generate code or schedule for. The `cpu' attribute
defines a list that mirrors this list, so changes to s390.md must be
- made at the same time. */
+ made at the same time. The enumeration must also be kept in sync with
+ `processor_table' and `processor_flags_table' in s390.cc (the enumeration
+ values are used as indices into these tables). */
enum processor_type
{
- PROCESSOR_9672_G5,
- PROCESSOR_9672_G6,
PROCESSOR_2064_Z900,
PROCESSOR_2084_Z990,
PROCESSOR_2094_Z9_109,
PROCESSOR_2097_Z10,
PROCESSOR_2817_Z196,
PROCESSOR_2827_ZEC12,
+ PROCESSOR_2964_Z13,
+ PROCESSOR_3906_Z14,
+ PROCESSOR_8561_Z15,
+ PROCESSOR_3931_Z16,
+ PROCESSOR_NATIVE,
PROCESSOR_max
};
+
+/* Values for -mindirect-branch and -mfunction-return options. */
+enum indirect_branch {
+ indirect_branch_unset = 0,
+ indirect_branch_keep,
+ indirect_branch_thunk,
+ indirect_branch_thunk_inline,
+ indirect_branch_thunk_extern
+};
#endif