You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
@ -1,110 +0,0 @@
|
||||
//===-- RISCVBaseInfo.h - Top level definitions for RISCV MC ----*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file contains small standalone enum definitions for the RISCV target
|
||||
// useful for the compiler back-end and the MC libraries.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifndef LLVM_LIB_TARGET_RISCV_MCTARGETDESC_RISCVBASEINFO_H
|
||||
#define LLVM_LIB_TARGET_RISCV_MCTARGETDESC_RISCVBASEINFO_H
|
||||
|
||||
#include "RISCVMCTargetDesc.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/ADT/StringSwitch.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
// RISCVII - This namespace holds all of the target specific flags that
|
||||
// instruction info tracks. All definitions must match RISCVInstrFormats.td.
|
||||
namespace RISCVII {
|
||||
enum {
|
||||
InstFormatPseudo = 0,
|
||||
InstFormatR = 1,
|
||||
InstFormatR4 = 2,
|
||||
InstFormatI = 3,
|
||||
InstFormatS = 4,
|
||||
InstFormatB = 5,
|
||||
InstFormatU = 6,
|
||||
InstFormatJ = 7,
|
||||
InstFormatCR = 8,
|
||||
InstFormatCI = 9,
|
||||
InstFormatCSS = 10,
|
||||
InstFormatCIW = 11,
|
||||
InstFormatCL = 12,
|
||||
InstFormatCS = 13,
|
||||
InstFormatCB = 14,
|
||||
InstFormatCJ = 15,
|
||||
InstFormatOther = 16,
|
||||
|
||||
InstFormatMask = 31
|
||||
};
|
||||
|
||||
enum {
|
||||
MO_None,
|
||||
MO_LO,
|
||||
MO_HI,
|
||||
MO_PCREL_HI,
|
||||
};
|
||||
} // namespace RISCVII
|
||||
|
||||
// Describes the predecessor/successor bits used in the FENCE instruction.
|
||||
namespace RISCVFenceField {
|
||||
enum FenceField {
|
||||
I = 8,
|
||||
O = 4,
|
||||
R = 2,
|
||||
W = 1
|
||||
};
|
||||
}
|
||||
|
||||
// Describes the supported floating point rounding mode encodings.
|
||||
namespace RISCVFPRndMode {
|
||||
enum RoundingMode {
|
||||
RNE = 0,
|
||||
RTZ = 1,
|
||||
RDN = 2,
|
||||
RUP = 3,
|
||||
RMM = 4,
|
||||
DYN = 7,
|
||||
Invalid
|
||||
};
|
||||
|
||||
inline static StringRef roundingModeToString(RoundingMode RndMode) {
|
||||
switch (RndMode) {
|
||||
default:
|
||||
llvm_unreachable("Unknown floating point rounding mode");
|
||||
case RISCVFPRndMode::RNE:
|
||||
return "rne";
|
||||
case RISCVFPRndMode::RTZ:
|
||||
return "rtz";
|
||||
case RISCVFPRndMode::RDN:
|
||||
return "rdn";
|
||||
case RISCVFPRndMode::RUP:
|
||||
return "rup";
|
||||
case RISCVFPRndMode::RMM:
|
||||
return "rmm";
|
||||
case RISCVFPRndMode::DYN:
|
||||
return "dyn";
|
||||
}
|
||||
}
|
||||
|
||||
inline static RoundingMode stringToRoundingMode(StringRef Str) {
|
||||
return StringSwitch<RoundingMode>(Str)
|
||||
.Case("rne", RISCVFPRndMode::RNE)
|
||||
.Case("rtz", RISCVFPRndMode::RTZ)
|
||||
.Case("rdn", RISCVFPRndMode::RDN)
|
||||
.Case("rup", RISCVFPRndMode::RUP)
|
||||
.Case("rmm", RISCVFPRndMode::RMM)
|
||||
.Case("dyn", RISCVFPRndMode::DYN)
|
||||
.Default(RISCVFPRndMode::Invalid);
|
||||
}
|
||||
} // namespace RISCVFPRndMode
|
||||
} // namespace llvm
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user