mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-29 06:30:39 +00:00
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:
parent
5e47a9a6e4
commit
f0c3d023ae
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user