diff options
| author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2010-07-07 22:24:03 +0000 | 
|---|---|---|
| committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2010-07-07 22:24:03 +0000 | 
| commit | 6c6145101198da0a2a1e832bfe45dcfea0e7b316 (patch) | |
| tree | 2ec8783a73f002527d5bb0ebaa30689881a8bd3e /llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | |
| parent | a37a95ea2f878b2050c53c7f6987ad4bf1646848 (diff) | |
| download | bcm5719-llvm-6c6145101198da0a2a1e832bfe45dcfea0e7b316.tar.gz bcm5719-llvm-6c6145101198da0a2a1e832bfe45dcfea0e7b316.zip | |
Add more assembly opcodes for SSE compare instructions
llvm-svn: 107823
Diffstat (limited to 'llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 40 | 
1 files changed, 32 insertions, 8 deletions
| diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 1b14ebf7b25..a856e9cc7a4 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -693,14 +693,38 @@ ParseInstruction(const StringRef &Name, SMLoc NameLoc,      unsigned SSECCIdx = IsVCMP ? 4 : 3;      unsigned SSEComparisonCode = StringSwitch<unsigned>(        PatchedName.slice(SSECCIdx, PatchedName.size() - 2)) -      .Case("eq", 0) -      .Case("lt", 1) -      .Case("le", 2) -      .Case("unord", 3) -      .Case("neq", 4) -      .Case("nlt", 5) -      .Case("nle", 6) -      .Case("ord", 7) +      .Case("eq",          0) +      .Case("lt",          1) +      .Case("le",          2) +      .Case("unord",       3) +      .Case("neq",         4) +      .Case("nlt",         5) +      .Case("nle",         6) +      .Case("ord",         7) +      .Case("eq_uq",       8) +      .Case("nge",         9) +      .Case("ngt",      0x0A) +      .Case("false",    0x0B) +      .Case("neq_oq",   0x0C) +      .Case("ge",       0x0D) +      .Case("gt",       0x0E) +      .Case("true",     0x0F) +      .Case("eq_os",    0x10) +      .Case("lt_oq",    0x11) +      .Case("le_oq",    0x12) +      .Case("unord_s",  0x13) +      .Case("neq_us",   0x14) +      .Case("nlt_uq",   0x15) +      .Case("nle_uq",   0x16) +      .Case("ord_s",    0x17) +      .Case("eq_us",    0x18) +      .Case("nge_uq",   0x19) +      .Case("ngt_uq",   0x1A) +      .Case("false_os", 0x1B) +      .Case("neq_os",   0x1C) +      .Case("ge_oq",    0x1D) +      .Case("gt_oq",    0x1E) +      .Case("true_us",  0x1F)        .Default(~0U);      if (SSEComparisonCode != ~0U) {        ExtraImmOp = MCConstantExpr::Create(SSEComparisonCode, | 

