[X86][MC] Support case insenstive for dfv,sf,cf,of,zf for CCMP/CTEST (#95910)
This commit is contained in:
@@ -2318,7 +2318,7 @@ bool X86AsmParser::parseCFlagsOp(OperandVector &Operands) {
|
||||
return Error(Tok.getLoc(), "Expected { at this point");
|
||||
Parser.Lex(); // Eat "{"
|
||||
Tok = Parser.getTok();
|
||||
if (Tok.getIdentifier() != "dfv")
|
||||
if (Tok.getIdentifier().lower() != "dfv")
|
||||
return Error(Tok.getLoc(), "Expected dfv at this point");
|
||||
Parser.Lex(); // Eat "dfv"
|
||||
Tok = Parser.getTok();
|
||||
@@ -2338,7 +2338,7 @@ bool X86AsmParser::parseCFlagsOp(OperandVector &Operands) {
|
||||
unsigned CFlags = 0;
|
||||
for (unsigned I = 0; I < 4; ++I) {
|
||||
Tok = Parser.getTok();
|
||||
unsigned CFlag = StringSwitch<unsigned>(Tok.getIdentifier())
|
||||
unsigned CFlag = StringSwitch<unsigned>(Tok.getIdentifier().lower())
|
||||
.Case("of", 0x8)
|
||||
.Case("sf", 0x4)
|
||||
.Case("zf", 0x2)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s
|
||||
# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR
|
||||
|
||||
# ERROR-COUNT-401: error:
|
||||
# ERROR-COUNT-402: error:
|
||||
# ERROR-NOT: error:
|
||||
## Condition flags
|
||||
|
||||
@@ -1211,3 +1211,9 @@
|
||||
# CHECK: ccmpeq {dfv=of} %r9, %r15
|
||||
# CHECK: encoding: [0x62,0x54,0xc4,0x04,0x39,0xcf]
|
||||
ccmpeq {dfv=of} %r9, %r15
|
||||
|
||||
## Case sensitive
|
||||
|
||||
# CHECK: ccmpoq {dfv=of,sf,zf,cf} %rax, %rbx
|
||||
# CHECK: encoding: [0x62,0xf4,0xfc,0x00,0x39,0xc3]
|
||||
ccmpoq {dFV=Cf,zF,SF,of} %rax, %rbx
|
||||
|
||||
@@ -1208,3 +1208,9 @@
|
||||
# CHECK: ccmpe {dfv=of} r15, r9
|
||||
# CHECK: encoding: [0x62,0x54,0xc4,0x04,0x39,0xcf]
|
||||
ccmpe {dfv=of} r15, r9
|
||||
|
||||
## Case sensitive
|
||||
|
||||
# CHECK: ccmpo {dfv=of,sf,zf,cf} rbx, rax
|
||||
# CHECK: encoding: [0x62,0xf4,0xfc,0x00,0x39,0xc3]
|
||||
ccmpo {DFv=Cf,zF,SF,of} rbx, rax
|
||||
|
||||
Reference in New Issue
Block a user