Partially revert the changes I made in r233473 to keep the code concise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233474 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Akira Hatanaka 2015-03-28 04:40:43 +00:00
parent c74135ba1b
commit bcdb993025

View File

@ -73,104 +73,39 @@ void X86ATTInstPrinter::printSSEAVXCC(const MCInst *MI, unsigned Op,
raw_ostream &O) {
int64_t Imm = MI->getOperand(Op).getImm();
switch (Imm) {
default:
llvm_unreachable("Invalid ssecc/avxcc argument!");
case 0:
O << "eq";
break;
case 1:
O << "lt";
break;
case 2:
O << "le";
break;
case 3:
O << "unord";
break;
case 4:
O << "neq";
break;
case 5:
O << "nlt";
break;
case 6:
O << "nle";
break;
case 7:
O << "ord";
break;
case 8:
O << "eq_uq";
break;
case 9:
O << "nge";
break;
case 0xa:
O << "ngt";
break;
case 0xb:
O << "false";
break;
case 0xc:
O << "neq_oq";
break;
case 0xd:
O << "ge";
break;
case 0xe:
O << "gt";
break;
case 0xf:
O << "true";
break;
case 0x10:
O << "eq_os";
break;
case 0x11:
O << "lt_oq";
break;
case 0x12:
O << "le_oq";
break;
case 0x13:
O << "unord_s";
break;
case 0x14:
O << "neq_us";
break;
case 0x15:
O << "nlt_uq";
break;
case 0x16:
O << "nle_uq";
break;
case 0x17:
O << "ord_s";
break;
case 0x18:
O << "eq_us";
break;
case 0x19:
O << "nge_uq";
break;
case 0x1a:
O << "ngt_uq";
break;
case 0x1b:
O << "false_os";
break;
case 0x1c:
O << "neq_os";
break;
case 0x1d:
O << "ge_oq";
break;
case 0x1e:
O << "gt_oq";
break;
case 0x1f:
O << "true_us";
break;
default: llvm_unreachable("Invalid ssecc/avxcc argument!");
case 0: O << "eq"; break;
case 1: O << "lt"; break;
case 2: O << "le"; break;
case 3: O << "unord"; break;
case 4: O << "neq"; break;
case 5: O << "nlt"; break;
case 6: O << "nle"; break;
case 7: O << "ord"; break;
case 8: O << "eq_uq"; break;
case 9: O << "nge"; break;
case 0xa: O << "ngt"; break;
case 0xb: O << "false"; break;
case 0xc: O << "neq_oq"; break;
case 0xd: O << "ge"; break;
case 0xe: O << "gt"; break;
case 0xf: O << "true"; break;
case 0x10: O << "eq_os"; break;
case 0x11: O << "lt_oq"; break;
case 0x12: O << "le_oq"; break;
case 0x13: O << "unord_s"; break;
case 0x14: O << "neq_us"; break;
case 0x15: O << "nlt_uq"; break;
case 0x16: O << "nle_uq"; break;
case 0x17: O << "ord_s"; break;
case 0x18: O << "eq_us"; break;
case 0x19: O << "nge_uq"; break;
case 0x1a: O << "ngt_uq"; break;
case 0x1b: O << "false_os"; break;
case 0x1c: O << "neq_os"; break;
case 0x1d: O << "ge_oq"; break;
case 0x1e: O << "gt_oq"; break;
case 0x1f: O << "true_us"; break;
}
}
@ -178,51 +113,26 @@ void X86ATTInstPrinter::printXOPCC(const MCInst *MI, unsigned Op,
raw_ostream &O) {
int64_t Imm = MI->getOperand(Op).getImm();
switch (Imm) {
default:
llvm_unreachable("Invalid xopcc argument!");
case 0:
O << "lt";
break;
case 1:
O << "le";
break;
case 2:
O << "gt";
break;
case 3:
O << "ge";
break;
case 4:
O << "eq";
break;
case 5:
O << "neq";
break;
case 6:
O << "false";
break;
case 7:
O << "true";
break;
default: llvm_unreachable("Invalid xopcc argument!");
case 0: O << "lt"; break;
case 1: O << "le"; break;
case 2: O << "gt"; break;
case 3: O << "ge"; break;
case 4: O << "eq"; break;
case 5: O << "neq"; break;
case 6: O << "false"; break;
case 7: O << "true"; break;
}
}
void X86ATTInstPrinter::printRoundingControl(const MCInst *MI, unsigned Op,
raw_ostream &O) {
raw_ostream &O) {
int64_t Imm = MI->getOperand(Op).getImm() & 0x3;
switch (Imm) {
case 0:
O << "{rn-sae}";
break;
case 1:
O << "{rd-sae}";
break;
case 2:
O << "{ru-sae}";
break;
case 3:
O << "{rz-sae}";
break;
case 0: O << "{rn-sae}"; break;
case 1: O << "{rd-sae}"; break;
case 2: O << "{ru-sae}"; break;
case 3: O << "{rz-sae}"; break;
}
}
/// printPCRelImm - This is used to print an immediate value that ends up