mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 00:11:00 +00:00
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:
parent
c74135ba1b
commit
bcdb993025
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user