/* m68k microarchitecture names.
   Copyright (C) 1987-2025 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
   <http://www.gnu.org/licenses/>.  */

/* Define microarchitectures for the -mtune option, used both in
   m68k.cc and to generate m68k-tables.opt.  Before including this
   file, define a macro:

   M68K_MICROARCH (NAME, DEVICE, MICROARCH, ISA, FLAGS)

   where NAME is the name for use with -mtune=, DEVICE is the value in
   the target_device enumeration of a representative device, FLAGS is
   the set of FL_* flags that apply to this ISA and the other
   arguments are as for M68K_DEVICE in m68k-devices.def.  */

M68K_MICROARCH ("68000",    m68000,  68000,    isa_00,  FL_FOR_isa_00)
M68K_MICROARCH ("68010",    m68010,  68010,    isa_10,  FL_FOR_isa_10)
M68K_MICROARCH ("68020",    m68020,  68020,    isa_20,  FL_FOR_isa_20)
M68K_MICROARCH ("68020-40", m68020,  68020_40, isa_20,  FL_FOR_isa_20)
M68K_MICROARCH ("68020-60", m68020,  68020_60, isa_20,  FL_FOR_isa_20)
M68K_MICROARCH ("68030",    m68030,  68030,    isa_20,  FL_FOR_isa_20)
M68K_MICROARCH ("68040",    m68040,  68040,    isa_40,  FL_FOR_isa_40)
M68K_MICROARCH ("68060",    m68060,  68060,    isa_40,  FL_FOR_isa_40)
M68K_MICROARCH ("cpu32",    cpu32,   cpu32,    isa_20,  FL_FOR_isa_cpu32)
M68K_MICROARCH ("cfv1",     mcf51qe, cfv1,     isa_c,   FL_FOR_isa_c)
M68K_MICROARCH ("cfv2",     mcf5206, cfv2,     isa_a,   FL_FOR_isa_a)
M68K_MICROARCH ("cfv3",     mcf5307, cfv3,     isa_a,   FL_FOR_isa_a | FL_CF_HWDIV)
M68K_MICROARCH ("cfv4",     mcf5407, cfv4,     isa_b,   FL_FOR_isa_b)
M68K_MICROARCH ("cfv4e",    mcf547x, cfv4e,    isa_b,   FL_FOR_isa_b | FL_CF_USP| FL_CF_EMAC | FL_CF_FPU)
