xref: /freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZProcessors.td (revision 81ad626541db97eb356e2c1d4a20eb2a26a766ab)
10b57cec5SDimitry Andric//===-- SystemZ.td - SystemZ processors and features ---------*- tblgen -*-===//
20b57cec5SDimitry Andric//
30b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric//
70b57cec5SDimitry Andric//===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric//
90b57cec5SDimitry Andric// Processor definitions.
100b57cec5SDimitry Andric//
110b57cec5SDimitry Andric// For compatibility with other compilers on the platform, each model can
125ffd83dbSDimitry Andric// be identified either by the system name (e.g. z10) or the level of the
130b57cec5SDimitry Andric// architecture the model supports, as identified by the edition level
140b57cec5SDimitry Andric// of the z/Architecture Principles of Operation document (e.g. arch8).
150b57cec5SDimitry Andric//
160b57cec5SDimitry Andric// The minimum architecture level supported by LLVM is as defined in
170b57cec5SDimitry Andric// the Eighth Edition of the PoP (i.e. as implemented on z10).
180b57cec5SDimitry Andric//
190b57cec5SDimitry Andric//===----------------------------------------------------------------------===//
200b57cec5SDimitry Andric
210b57cec5SDimitry Andricdef : ProcessorModel<"generic", NoSchedModel, []>;
220b57cec5SDimitry Andric
230b57cec5SDimitry Andricdef : ProcessorModel<"arch8", NoSchedModel, Arch8SupportedFeatures.List>;
240b57cec5SDimitry Andricdef : ProcessorModel<"z10", NoSchedModel, Arch8SupportedFeatures.List>;
250b57cec5SDimitry Andric
260b57cec5SDimitry Andricdef : ProcessorModel<"arch9", Z196Model, Arch9SupportedFeatures.List>;
270b57cec5SDimitry Andricdef : ProcessorModel<"z196", Z196Model, Arch9SupportedFeatures.List>;
280b57cec5SDimitry Andric
290b57cec5SDimitry Andricdef : ProcessorModel<"arch10", ZEC12Model, Arch10SupportedFeatures.List>;
300b57cec5SDimitry Andricdef : ProcessorModel<"zEC12", ZEC12Model, Arch10SupportedFeatures.List>;
310b57cec5SDimitry Andric
320b57cec5SDimitry Andricdef : ProcessorModel<"arch11", Z13Model, Arch11SupportedFeatures.List>;
330b57cec5SDimitry Andricdef : ProcessorModel<"z13", Z13Model, Arch11SupportedFeatures.List>;
340b57cec5SDimitry Andric
350b57cec5SDimitry Andricdef : ProcessorModel<"arch12", Z14Model, Arch12SupportedFeatures.List>;
360b57cec5SDimitry Andricdef : ProcessorModel<"z14", Z14Model, Arch12SupportedFeatures.List>;
370b57cec5SDimitry Andric
388bcb0991SDimitry Andricdef : ProcessorModel<"arch13", Z15Model, Arch13SupportedFeatures.List>;
398bcb0991SDimitry Andricdef : ProcessorModel<"z15", Z15Model, Arch13SupportedFeatures.List>;
400b57cec5SDimitry Andric
41*81ad6265SDimitry Andricdef : ProcessorModel<"arch14", Z16Model, Arch14SupportedFeatures.List>;
42*81ad6265SDimitry Andricdef : ProcessorModel<"z16", Z16Model, Arch14SupportedFeatures.List>;
43fe6060f1SDimitry Andric
44