1//===-- SystemZ.td - SystemZ processors and features ---------*- tblgen -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Processor definitions.
10//
11// For compatibility with other compilers on the platform, each model can
12// be identifed either by the system name (e.g. z10) or the level of the
13// architecture the model supports, as identified by the edition level
14// of the z/Architecture Principles of Operation document (e.g. arch8).
15//
16// The minimum architecture level supported by LLVM is as defined in
17// the Eighth Edition of the PoP (i.e. as implemented on z10).
18//
19//===----------------------------------------------------------------------===//
20
21def : ProcessorModel<"generic", NoSchedModel, []>;
22
23def : ProcessorModel<"arch8", NoSchedModel, Arch8SupportedFeatures.List>;
24def : ProcessorModel<"z10", NoSchedModel, Arch8SupportedFeatures.List>;
25
26def : ProcessorModel<"arch9", Z196Model, Arch9SupportedFeatures.List>;
27def : ProcessorModel<"z196", Z196Model, Arch9SupportedFeatures.List>;
28
29def : ProcessorModel<"arch10", ZEC12Model, Arch10SupportedFeatures.List>;
30def : ProcessorModel<"zEC12", ZEC12Model, Arch10SupportedFeatures.List>;
31
32def : ProcessorModel<"arch11", Z13Model, Arch11SupportedFeatures.List>;
33def : ProcessorModel<"z13", Z13Model, Arch11SupportedFeatures.List>;
34
35def : ProcessorModel<"arch12", Z14Model, Arch12SupportedFeatures.List>;
36def : ProcessorModel<"z14", Z14Model, Arch12SupportedFeatures.List>;
37
38def : ProcessorModel<"arch13", Z15Model, Arch13SupportedFeatures.List>;
39def : ProcessorModel<"z15", Z15Model, Arch13SupportedFeatures.List>;
40
41