mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-20 09:30:43 +00:00
eddfaad1ef
This first step just adds definitions for SLLK, SRLK and SRAK. The next patch will actually make use of them during codegen. insn-bad.s tests that some form of error is reported when using these instructions on z10. More work is needed to get the "instruction requires: distinct-ops" that we'd ideally like, so I've stubbed that part out for now. I'll come back and make it mandatory once the necessary changes are in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186680 91177308-0d34-0410-b5e6-96231b3b80d8
27 lines
1004 B
TableGen
27 lines
1004 B
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 and feature definitions.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
class SystemZFeature<string extname, string intname, string desc>
|
|
: Predicate<"Subtarget.has"##intname##"()">,
|
|
AssemblerPredicate<"Feature"##intname, extname>,
|
|
SubtargetFeature<extname, "Has"##intname, "true", desc>;
|
|
|
|
def FeatureDistinctOps : SystemZFeature<
|
|
"distinct-ops", "DistinctOps",
|
|
"Assume that the distinct-operands facility is installed"
|
|
>;
|
|
|
|
def : Processor<"z10", NoItineraries, []>;
|
|
def : Processor<"z196", NoItineraries, [FeatureDistinctOps]>;
|
|
def : Processor<"zEC12", NoItineraries, [FeatureDistinctOps]>;
|