1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/lib/Target/SystemZ/SystemZProcessors.td
Ulrich Weigand 2b52d3cc02 [SystemZ] Rework processor feature definitions and add -mcpu=archX support
This patch implements two changes:

- Move processor feature definition into a new file SystemZFeatures.td,
  and provide explicit lists of supported and unsupported features for
  each level of the z/Architecture.  This allows specifying unsupported
  features in the scheduler definition files for each processor.

- Add optional aliases for the -mcpu processor names according to the
  level of the z/Architecture, for compatibility with other compilers
  on the platform.  The supported aliases are:
    -mcpu=arch8  equals  -mcpu=z10
    -mcpu=arch9  equals  -mcpu=z196
    -mcpu=arch10 equals  -mcpu=zEC12
    -mcpu=arch11 equals  -mcpu=z13

llvm-svn: 285577
2016-10-31 14:33:29 +00:00

36 lines
1.5 KiB
TableGen

//===-- SystemZ.td - SystemZ processors and features ---------*- tblgen -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// Processor definitions.
//
// For compatibility with other compilers on the platform, each model can
// be identifed either by the system name (e.g. z10) or the level of the
// architecture the model supports, as identified by the edition level
// of the z/Architecture Principles of Operation document (e.g. arch8).
//
// The minimum architecture level supported by LLVM is as defined in
// the Eighth Edition of the PoP (i.e. as implemented on z10).
//
//===----------------------------------------------------------------------===//
def : ProcessorModel<"generic", NoSchedModel, []>;
def : ProcessorModel<"arch8", NoSchedModel, Arch8SupportedFeatures.List>;
def : ProcessorModel<"z10", NoSchedModel, Arch8SupportedFeatures.List>;
def : ProcessorModel<"arch9", Z196Model, Arch9SupportedFeatures.List>;
def : ProcessorModel<"z196", Z196Model, Arch9SupportedFeatures.List>;
def : ProcessorModel<"arch10", ZEC12Model, Arch10SupportedFeatures.List>;
def : ProcessorModel<"zEC12", ZEC12Model, Arch10SupportedFeatures.List>;
def : ProcessorModel<"arch11", Z13Model, Arch11SupportedFeatures.List>;
def : ProcessorModel<"z13", Z13Model, Arch11SupportedFeatures.List>;