brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · ac2ad5a Raw
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