From 728e5eb92707f2c5b2af796dddf3acbdd3ccd64d Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sat, 30 Jan 2010 00:24:12 +0000 Subject: [PATCH] X86.td: Refactor to bring operands that use print_pcrel_imm together. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94861 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrInfo.td | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 6853af39d12..5041263a61f 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -182,10 +182,6 @@ def X86mul_imm : SDNode<"X86ISD::MUL_IMM", SDTIntBinOp>; // X86 Operand Definitions. // -def i32imm_pcrel : Operand { - let PrintMethod = "print_pcrel_imm"; -} - // 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. def ptr_rc_nosp : PointerLikeRegClass<1>; @@ -211,11 +207,6 @@ def opaque48mem : X86MemOperand<"printopaquemem">; def opaque80mem : X86MemOperand<"printopaquemem">; def opaque512mem : X86MemOperand<"printopaquemem">; -def offset8 : Operand { let PrintMethod = "print_pcrel_imm"; } -def offset16 : Operand { let PrintMethod = "print_pcrel_imm"; } -def offset32 : Operand { let PrintMethod = "print_pcrel_imm"; } -def offset64 : Operand { let PrintMethod = "print_pcrel_imm"; } - def i8mem : X86MemOperand<"printi8mem">; def i16mem : X86MemOperand<"printi16mem">; def i32mem : X86MemOperand<"printi32mem">; @@ -242,6 +233,20 @@ def lea32mem : Operand { let ParserMatchClass = X86NoSegMemAsmOperand; } +let PrintMethod = "print_pcrel_imm" in { +def i32imm_pcrel : Operand; + +def offset8 : Operand; +def offset16 : Operand; +def offset32 : Operand; +def offset64 : Operand; + +// Branch targets have OtherVT type and print as pc-relative values. +def brtarget : Operand; +def brtarget8 : Operand; + +} + def SSECC : Operand { let PrintMethod = "printSSECC"; } @@ -261,15 +266,6 @@ def i32i8imm : Operand { let ParserMatchClass = ImmSExt8AsmOperand; } -// Branch targets have OtherVT type and print as pc-relative values. -def brtarget : Operand { - let PrintMethod = "print_pcrel_imm"; -} - -def brtarget8 : Operand { - let PrintMethod = "print_pcrel_imm"; -} - //===----------------------------------------------------------------------===// // X86 Complex Pattern Definitions. //