1 //===-- LeonFeatures.td - Describe the Leon Features -------*- tablegen -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
14 //===----------------------------------------------------------------------===//
15 // UMAC and SMAC support for LEON3 and LEON4 processors.
16 //===----------------------------------------------------------------------===//
18 //support to casa instruction; for leon3 subtarget only
19 def UMACSMACSupport : SubtargetFeature<
23 "Enable UMAC and SMAC for LEON3 and LEON4 processors"
27 //===----------------------------------------------------------------------===//
28 // CASA Support differs between LEON3-FT GR712RC and LEON3-FT UT699
29 // We need to have the option to switch this on and off.
30 //===----------------------------------------------------------------------===//
32 //support to casa instruction; for leon3 subtarget only
33 def LeonCASA : SubtargetFeature<
37 "Enable CASA instruction for LEON3 and LEON4 processors"
40 def InsertNOPLoad: SubtargetFeature<
44 "LEON3 erratum fix: Insert a NOP instruction after every single-cycle load instruction when the next instruction is another load/store instruction"
47 def DetectRoundChange : SubtargetFeature<
51 "LEON3 erratum detection: Detects any rounding mode change "
52 "request: use only the round-to-nearest rounding mode"
55 def FixAllFDIVSQRT : SubtargetFeature<
59 "LEON erratum fix: Fix FDIVS/FDIVD/FSQRTS/FSQRTD instructions with NOPs and floating-point store"
63 : SubtargetFeature<"leoncyclecounter", "HasLeonCycleCounter", "true",
64 "Use the Leon cycle counter register">;