fix PR8686, accepting a 'b' suffix at the end of all the setcc
instructions. I choose to handle this with an asmparser hack, though it could be handled by changing all the instruction definitions to allow be "setneb" instead of "setne". The asm parser hack is better in this case, because we want the disassembler to produce setne, not setneb. llvm-svn: 120260
This commit is contained in:
parent
a7e04b04c5
commit
7e8a99b1c3
|
@ -622,6 +622,11 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
|
|||
SmallVectorImpl<MCParsedAsmOperand*> &Operands) {
|
||||
StringRef PatchedName = Name;
|
||||
|
||||
// FIXME: Hack to recognize setneb as setne.
|
||||
if (PatchedName.startswith("set") && PatchedName.endswith("b") &&
|
||||
PatchedName != "setb" && PatchedName != "setnb")
|
||||
PatchedName = PatchedName.substr(0, Name.size()-1);
|
||||
|
||||
// FIXME: Hack to recognize cmp<comparison code>{ss,sd,ps,pd}.
|
||||
const MCExpr *ExtraImmOp = 0;
|
||||
if ((PatchedName.startswith("cmp") || PatchedName.startswith("vcmp")) &&
|
||||
|
|
|
@ -543,7 +543,10 @@ popfl
|
|||
setng %bl
|
||||
setnle %bl
|
||||
|
||||
|
||||
// PR8686
|
||||
setneb %cl // CHECK: setne %cl
|
||||
setcb %bl // CHECK: setb %bl
|
||||
setnaeb %bl // CHECK: setb %bl
|
||||
|
||||
|
||||
// CHECK: lcalll $31438, $31438
|
||||
|
|
Loading…
Reference in New Issue