mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-14 01:20:40 +00:00
X86.td: Refactor to bring operands that use print_pcrel_imm together.
llvm-svn: 94861
This commit is contained in:
parent
08265d2e9b
commit
ee85d3388b
@ -182,10 +182,6 @@ def X86mul_imm : SDNode<"X86ISD::MUL_IMM", SDTIntBinOp>;
|
|||||||
// X86 Operand Definitions.
|
// X86 Operand Definitions.
|
||||||
//
|
//
|
||||||
|
|
||||||
def i32imm_pcrel : Operand<i32> {
|
|
||||||
let PrintMethod = "print_pcrel_imm";
|
|
||||||
}
|
|
||||||
|
|
||||||
// A version of ptr_rc which excludes SP, ESP, and RSP. This is used for
|
// A version of ptr_rc which excludes SP, ESP, and RSP. This is used for
|
||||||
// the index operand of an address, to conform to x86 encoding restrictions.
|
// the index operand of an address, to conform to x86 encoding restrictions.
|
||||||
def ptr_rc_nosp : PointerLikeRegClass<1>;
|
def ptr_rc_nosp : PointerLikeRegClass<1>;
|
||||||
@ -211,11 +207,6 @@ def opaque48mem : X86MemOperand<"printopaquemem">;
|
|||||||
def opaque80mem : X86MemOperand<"printopaquemem">;
|
def opaque80mem : X86MemOperand<"printopaquemem">;
|
||||||
def opaque512mem : X86MemOperand<"printopaquemem">;
|
def opaque512mem : X86MemOperand<"printopaquemem">;
|
||||||
|
|
||||||
def offset8 : Operand<i64> { let PrintMethod = "print_pcrel_imm"; }
|
|
||||||
def offset16 : Operand<i64> { let PrintMethod = "print_pcrel_imm"; }
|
|
||||||
def offset32 : Operand<i64> { let PrintMethod = "print_pcrel_imm"; }
|
|
||||||
def offset64 : Operand<i64> { let PrintMethod = "print_pcrel_imm"; }
|
|
||||||
|
|
||||||
def i8mem : X86MemOperand<"printi8mem">;
|
def i8mem : X86MemOperand<"printi8mem">;
|
||||||
def i16mem : X86MemOperand<"printi16mem">;
|
def i16mem : X86MemOperand<"printi16mem">;
|
||||||
def i32mem : X86MemOperand<"printi32mem">;
|
def i32mem : X86MemOperand<"printi32mem">;
|
||||||
@ -242,6 +233,20 @@ def lea32mem : Operand<i32> {
|
|||||||
let ParserMatchClass = X86NoSegMemAsmOperand;
|
let ParserMatchClass = X86NoSegMemAsmOperand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let PrintMethod = "print_pcrel_imm" in {
|
||||||
|
def i32imm_pcrel : Operand<i32>;
|
||||||
|
|
||||||
|
def offset8 : Operand<i64>;
|
||||||
|
def offset16 : Operand<i64>;
|
||||||
|
def offset32 : Operand<i64>;
|
||||||
|
def offset64 : Operand<i64>;
|
||||||
|
|
||||||
|
// Branch targets have OtherVT type and print as pc-relative values.
|
||||||
|
def brtarget : Operand<OtherVT>;
|
||||||
|
def brtarget8 : Operand<OtherVT>;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
def SSECC : Operand<i8> {
|
def SSECC : Operand<i8> {
|
||||||
let PrintMethod = "printSSECC";
|
let PrintMethod = "printSSECC";
|
||||||
}
|
}
|
||||||
@ -261,15 +266,6 @@ def i32i8imm : Operand<i32> {
|
|||||||
let ParserMatchClass = ImmSExt8AsmOperand;
|
let ParserMatchClass = ImmSExt8AsmOperand;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Branch targets have OtherVT type and print as pc-relative values.
|
|
||||||
def brtarget : Operand<OtherVT> {
|
|
||||||
let PrintMethod = "print_pcrel_imm";
|
|
||||||
}
|
|
||||||
|
|
||||||
def brtarget8 : Operand<OtherVT> {
|
|
||||||
let PrintMethod = "print_pcrel_imm";
|
|
||||||
}
|
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// X86 Complex Pattern Definitions.
|
// X86 Complex Pattern Definitions.
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user