99 lines · plain
1//===-- LeonFeatures.td - Describe the Leon Features -------*- tablegen -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9//10//===----------------------------------------------------------------------===//11 12 13//===----------------------------------------------------------------------===//14// UMAC and SMAC support for LEON3 and LEON4 processors.15//===----------------------------------------------------------------------===//16 17//support to casa instruction; for leon3 subtarget only18def UMACSMACSupport : SubtargetFeature<19 "hasumacsmac",20 "HasUmacSmac",21 "true",22 "Enable UMAC and SMAC for LEON3 and LEON4 processors"23>;24 25 26//===----------------------------------------------------------------------===//27// CASA Support differs between LEON3-FT GR712RC and LEON3-FT UT69928// We need to have the option to switch this on and off.29//===----------------------------------------------------------------------===//30 31//support to casa instruction; for leon3 subtarget only32def LeonCASA : SubtargetFeature<33 "hasleoncasa",34 "HasLeonCasa",35 "true",36 "Enable CASA instruction for LEON3 and LEON4 processors"37>;38 39def InsertNOPLoad: SubtargetFeature<40 "insertnopload",41 "InsertNOPLoad",42 "true",43 "LEON3 erratum fix: Insert a NOP instruction after every single-cycle load instruction when the next instruction is another load/store instruction"44>;45 46def DetectRoundChange : SubtargetFeature<47 "detectroundchange",48 "DetectRoundChange",49 "true",50 "LEON3 erratum detection: Detects any rounding mode change "51 "request: use only the round-to-nearest rounding mode"52>;53 54def FixAllFDIVSQRT : SubtargetFeature<55 "fixallfdivsqrt",56 "FixAllFDIVSQRT",57 "true",58 "LEON erratum fix: Fix FDIVS/FDIVD/FSQRTS/FSQRTD instructions with NOPs and floating-point store"59>;60 61def LeonCycleCounter62 : SubtargetFeature<"leoncyclecounter", "HasLeonCycleCounter", "true",63 "Use the Leon cycle counter register">;64 65def FixTN0009 : SubtargetFeature<66 "fix-tn0009",67 "FixTN0009",68 "true",69 "Enable workaround for errata described in GRLIB-TN-0009"70>;71 72def FixTN0010 : SubtargetFeature<73 "fix-tn0010",74 "FixTN0010",75 "true",76 "Enable workaround for errata described in GRLIB-TN-0010"77>;78 79def FixTN0011 : SubtargetFeature<80 "fix-tn0011",81 "FixTN0011",82 "true",83 "Enable workaround for errata described in GRLIB-TN-0011"84>;85 86def FixTN0012 : SubtargetFeature<87 "fix-tn0012",88 "FixTN0012",89 "true",90 "Enable workaround for errata described in GRLIB-TN-0012"91>;92 93def FixTN0013 : SubtargetFeature<94 "fix-tn0013",95 "FixTN0013",96 "true",97 "Enable workaround for errata described in GRLIB-TN-0013"98>;99