mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-27 13:30:05 +00:00
Fix a Cygwin build failure caused by enum values starting with '_', which is conflicted with some platform macros.
This solution only renames variables, no functional change. NOTE: This is a candidate for the 3.4 branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195421 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e323506316
commit
7f5a9ca204
@ -261,12 +261,12 @@ multiclass VectorList_operands<string PREFIX, string LAYOUT, int Count,
|
||||
let Name = PREFIX # LAYOUT # Count;
|
||||
let RenderMethod = "addVectorListOperands";
|
||||
let PredicateMethod =
|
||||
"isVectorList<A64Layout::_" # LAYOUT # ", " # Count # ">";
|
||||
"isVectorList<A64Layout::VL_" # LAYOUT # ", " # Count # ">";
|
||||
let ParserMethod = "ParseVectorList";
|
||||
}
|
||||
|
||||
def _operand : RegisterOperand<RegList,
|
||||
"printVectorList<A64Layout::_" # LAYOUT # ", " # Count # ">"> {
|
||||
"printVectorList<A64Layout::VL_" # LAYOUT # ", " # Count # ">"> {
|
||||
let ParserMatchClass =
|
||||
!cast<AsmOperandClass>(PREFIX # LAYOUT # "_asmoperand");
|
||||
}
|
||||
|
@ -2066,7 +2066,7 @@ AArch64AsmParser::OperandMatchResultTy AArch64AsmParser::ParseVectorList(
|
||||
|
||||
A64Layout::VectorLayout Layout = A64StringToVectorLayout(LayoutStr);
|
||||
if (Count > 1) { // If count > 1, create vector list using super register.
|
||||
bool IsVec64 = (Layout < A64Layout::_16B);
|
||||
bool IsVec64 = (Layout < A64Layout::VL_16B);
|
||||
static unsigned SupRegIDs[3][2] = {
|
||||
{ AArch64::QPairRegClassID, AArch64::DPairRegClassID },
|
||||
{ AArch64::QTripleRegClassID, AArch64::DTripleRegClassID },
|
||||
@ -2084,10 +2084,10 @@ AArch64AsmParser::OperandMatchResultTy AArch64AsmParser::ParseVectorList(
|
||||
if (Parser.getTok().is(AsmToken::LBrac)) {
|
||||
uint32_t NumLanes = 0;
|
||||
switch(Layout) {
|
||||
case A64Layout::_B : NumLanes = 16; break;
|
||||
case A64Layout::_H : NumLanes = 8; break;
|
||||
case A64Layout::_S : NumLanes = 4; break;
|
||||
case A64Layout::_D : NumLanes = 2; break;
|
||||
case A64Layout::VL_B : NumLanes = 16; break;
|
||||
case A64Layout::VL_H : NumLanes = 8; break;
|
||||
case A64Layout::VL_S : NumLanes = 4; break;
|
||||
case A64Layout::VL_D : NumLanes = 2; break;
|
||||
default:
|
||||
SMLoc Loc = getLexer().getLoc();
|
||||
Error(Loc, "expected comma before next operand");
|
||||
|
@ -521,7 +521,7 @@ void AArch64InstPrinter::printVectorList(const MCInst *MI, unsigned OpNum,
|
||||
std::string LayoutStr = A64VectorLayoutToString(Layout);
|
||||
O << "{";
|
||||
if (Count > 1) { // Print sub registers separately
|
||||
bool IsVec64 = (Layout < A64Layout::_16B);
|
||||
bool IsVec64 = (Layout < A64Layout::VL_16B);
|
||||
unsigned SubRegIdx = IsVec64 ? AArch64::dsub_0 : AArch64::qsub_0;
|
||||
for (unsigned I = 0; I < Count; I++) {
|
||||
std::string Name = getRegisterName(MRI.getSubReg(Reg, SubRegIdx++));
|
||||
|
@ -309,40 +309,40 @@ namespace A64SE {
|
||||
namespace A64Layout {
|
||||
enum VectorLayout {
|
||||
Invalid = -1,
|
||||
_8B,
|
||||
_4H,
|
||||
_2S,
|
||||
_1D,
|
||||
VL_8B,
|
||||
VL_4H,
|
||||
VL_2S,
|
||||
VL_1D,
|
||||
|
||||
_16B,
|
||||
_8H,
|
||||
_4S,
|
||||
_2D,
|
||||
VL_16B,
|
||||
VL_8H,
|
||||
VL_4S,
|
||||
VL_2D,
|
||||
|
||||
// Bare layout for the 128-bit vector
|
||||
// (only show ".b", ".h", ".s", ".d" without vector number)
|
||||
_B,
|
||||
_H,
|
||||
_S,
|
||||
_D
|
||||
VL_B,
|
||||
VL_H,
|
||||
VL_S,
|
||||
VL_D
|
||||
};
|
||||
}
|
||||
|
||||
inline static const char *
|
||||
A64VectorLayoutToString(A64Layout::VectorLayout Layout) {
|
||||
switch (Layout) {
|
||||
case A64Layout::_8B: return ".8b";
|
||||
case A64Layout::_4H: return ".4h";
|
||||
case A64Layout::_2S: return ".2s";
|
||||
case A64Layout::_1D: return ".1d";
|
||||
case A64Layout::_16B: return ".16b";
|
||||
case A64Layout::_8H: return ".8h";
|
||||
case A64Layout::_4S: return ".4s";
|
||||
case A64Layout::_2D: return ".2d";
|
||||
case A64Layout::_B: return ".b";
|
||||
case A64Layout::_H: return ".h";
|
||||
case A64Layout::_S: return ".s";
|
||||
case A64Layout::_D: return ".d";
|
||||
case A64Layout::VL_8B: return ".8b";
|
||||
case A64Layout::VL_4H: return ".4h";
|
||||
case A64Layout::VL_2S: return ".2s";
|
||||
case A64Layout::VL_1D: return ".1d";
|
||||
case A64Layout::VL_16B: return ".16b";
|
||||
case A64Layout::VL_8H: return ".8h";
|
||||
case A64Layout::VL_4S: return ".4s";
|
||||
case A64Layout::VL_2D: return ".2d";
|
||||
case A64Layout::VL_B: return ".b";
|
||||
case A64Layout::VL_H: return ".h";
|
||||
case A64Layout::VL_S: return ".s";
|
||||
case A64Layout::VL_D: return ".d";
|
||||
default: llvm_unreachable("Unknown Vector Layout");
|
||||
}
|
||||
}
|
||||
@ -350,18 +350,18 @@ A64VectorLayoutToString(A64Layout::VectorLayout Layout) {
|
||||
inline static A64Layout::VectorLayout
|
||||
A64StringToVectorLayout(StringRef LayoutStr) {
|
||||
return StringSwitch<A64Layout::VectorLayout>(LayoutStr)
|
||||
.Case(".8b", A64Layout::_8B)
|
||||
.Case(".4h", A64Layout::_4H)
|
||||
.Case(".2s", A64Layout::_2S)
|
||||
.Case(".1d", A64Layout::_1D)
|
||||
.Case(".16b", A64Layout::_16B)
|
||||
.Case(".8h", A64Layout::_8H)
|
||||
.Case(".4s", A64Layout::_4S)
|
||||
.Case(".2d", A64Layout::_2D)
|
||||
.Case(".b", A64Layout::_B)
|
||||
.Case(".h", A64Layout::_H)
|
||||
.Case(".s", A64Layout::_S)
|
||||
.Case(".d", A64Layout::_D)
|
||||
.Case(".8b", A64Layout::VL_8B)
|
||||
.Case(".4h", A64Layout::VL_4H)
|
||||
.Case(".2s", A64Layout::VL_2S)
|
||||
.Case(".1d", A64Layout::VL_1D)
|
||||
.Case(".16b", A64Layout::VL_16B)
|
||||
.Case(".8h", A64Layout::VL_8H)
|
||||
.Case(".4s", A64Layout::VL_4S)
|
||||
.Case(".2d", A64Layout::VL_2D)
|
||||
.Case(".b", A64Layout::VL_B)
|
||||
.Case(".h", A64Layout::VL_H)
|
||||
.Case(".s", A64Layout::VL_S)
|
||||
.Case(".d", A64Layout::VL_D)
|
||||
.Default(A64Layout::Invalid);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user