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