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-exception 6// 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 only 18def 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 UT699 28// We need to have the option to switch this on and off. 29//===----------------------------------------------------------------------===// 30 31//support to casa instruction; for leon3 subtarget only 32def 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 LeonCycleCounter 62 : SubtargetFeature<"leoncyclecounter", "HasLeonCycleCounter", "true", 63 "Use the Leon cycle counter register">; 64