Add 256-bit memory operand support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74548 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Greene 2009-06-30 19:24:59 +00:00
parent 5e47a9a6e4
commit f0c3d023ae
3 changed files with 16 additions and 0 deletions

View File

@ -140,6 +140,9 @@ class VISIBILITY_HIDDEN X86ATTAsmPrinter : public AsmPrinter {
void printi128mem(const MachineInstr *MI, unsigned OpNo) { void printi128mem(const MachineInstr *MI, unsigned OpNo) {
printMemReference(MI, OpNo); printMemReference(MI, OpNo);
} }
void printi256mem(const MachineInstr *MI, unsigned OpNo) {
printMemReference(MI, OpNo);
}
void printf32mem(const MachineInstr *MI, unsigned OpNo) { void printf32mem(const MachineInstr *MI, unsigned OpNo) {
printMemReference(MI, OpNo); printMemReference(MI, OpNo);
} }
@ -152,6 +155,9 @@ class VISIBILITY_HIDDEN X86ATTAsmPrinter : public AsmPrinter {
void printf128mem(const MachineInstr *MI, unsigned OpNo) { void printf128mem(const MachineInstr *MI, unsigned OpNo) {
printMemReference(MI, OpNo); printMemReference(MI, OpNo);
} }
void printf256mem(const MachineInstr *MI, unsigned OpNo) {
printMemReference(MI, OpNo);
}
void printlea32mem(const MachineInstr *MI, unsigned OpNo) { void printlea32mem(const MachineInstr *MI, unsigned OpNo) {
printLeaMemReference(MI, OpNo); printLeaMemReference(MI, OpNo);
} }

View File

@ -76,6 +76,10 @@ struct VISIBILITY_HIDDEN X86IntelAsmPrinter : public AsmPrinter {
O << "XMMWORD PTR "; O << "XMMWORD PTR ";
printMemReference(MI, OpNo); printMemReference(MI, OpNo);
} }
void printi256mem(const MachineInstr *MI, unsigned OpNo) {
O << "YMMWORD PTR ";
printMemReference(MI, OpNo);
}
void printf32mem(const MachineInstr *MI, unsigned OpNo) { void printf32mem(const MachineInstr *MI, unsigned OpNo) {
O << "DWORD PTR "; O << "DWORD PTR ";
printMemReference(MI, OpNo); printMemReference(MI, OpNo);
@ -92,6 +96,10 @@ struct VISIBILITY_HIDDEN X86IntelAsmPrinter : public AsmPrinter {
O << "XMMWORD PTR "; O << "XMMWORD PTR ";
printMemReference(MI, OpNo); printMemReference(MI, OpNo);
} }
void printf256mem(const MachineInstr *MI, unsigned OpNo) {
O << "YMMWORD PTR ";
printMemReference(MI, OpNo);
}
void printlea32mem(const MachineInstr *MI, unsigned OpNo) { void printlea32mem(const MachineInstr *MI, unsigned OpNo) {
O << "DWORD PTR "; O << "DWORD PTR ";
printLeaMemReference(MI, OpNo); printLeaMemReference(MI, OpNo);

View File

@ -180,10 +180,12 @@ def i16mem : X86MemOperand<"printi16mem">;
def i32mem : X86MemOperand<"printi32mem">; def i32mem : X86MemOperand<"printi32mem">;
def i64mem : X86MemOperand<"printi64mem">; def i64mem : X86MemOperand<"printi64mem">;
def i128mem : X86MemOperand<"printi128mem">; def i128mem : X86MemOperand<"printi128mem">;
def i256mem : X86MemOperand<"printi256mem">;
def f32mem : X86MemOperand<"printf32mem">; def f32mem : X86MemOperand<"printf32mem">;
def f64mem : X86MemOperand<"printf64mem">; def f64mem : X86MemOperand<"printf64mem">;
def f80mem : X86MemOperand<"printf80mem">; def f80mem : X86MemOperand<"printf80mem">;
def f128mem : X86MemOperand<"printf128mem">; def f128mem : X86MemOperand<"printf128mem">;
def f256mem : X86MemOperand<"printf256mem">;
// A version of i8mem for use on x86-64 that uses GR64_NOREX instead of // A version of i8mem for use on x86-64 that uses GR64_NOREX instead of
// plain GR64, so that it doesn't potentially require a REX prefix. // plain GR64, so that it doesn't potentially require a REX prefix.