From e7228736e0c452f4faf7b71825bba5909823d5ee Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 2 Jan 2005 02:38:18 +0000 Subject: [PATCH] Add a new method. llvm-svn: 19249 --- llvm/lib/Target/X86/X86InstrBuilder.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Target/X86/X86InstrBuilder.h b/llvm/lib/Target/X86/X86InstrBuilder.h index 9f6ae1b7a84e..17dc38eb6da1 100644 --- a/llvm/lib/Target/X86/X86InstrBuilder.h +++ b/llvm/lib/Target/X86/X86InstrBuilder.h @@ -49,7 +49,9 @@ struct X86AddressMode { GlobalValue *GV; X86AddressMode() : BaseType(RegBase), Scale(1), IndexReg(0), Disp(0), - GV(NULL) {} + GV(NULL) { + Base.Reg = 0; + } }; /// addDirectMem - This function is used to add a direct memory reference to the @@ -73,6 +75,13 @@ inline const MachineInstrBuilder &addRegOffset(const MachineInstrBuilder &MIB, return MIB.addReg(Reg).addZImm(1).addReg(0).addSImm(Offset); } +/// addRegReg - This function is used to add a memory reference of the form: +/// [Reg + Reg]. +inline const MachineInstrBuilder &addRegReg(const MachineInstrBuilder &MIB, + unsigned Reg1, unsigned Reg2) { + return MIB.addReg(Reg1).addZImm(1).addReg(Reg2).addSImm(0); +} + inline const MachineInstrBuilder &addFullAddress(const MachineInstrBuilder &MIB, const X86AddressMode &AM) { assert (AM.Scale == 1 || AM.Scale == 2 || AM.Scale == 4 || AM.Scale == 8);